<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Winapi prog stürzt beim klicken auf nen Button ab.]]></title><description><![CDATA[<p>Und genauso, wenn ich ein editfeld einbauen möchte... Also, ich schreibe ein prog zum lernen von Vokabeln und dabei gibts halt das problem, dass das proggie immer abstürzt, wenn ich auf den Button klicke. Die aktion des Butonklicks soll aber ne messageBox aufrufen, die aber nicht erscheint( also es erscheint eine, aber das ist die von windows ' das Programm hat ein Problem festgestellt und muss beendet werden'). das selbe Problem hab ich bei Editfeldern. allerdings stürzt da das Programm ab, bevor ich auch nur die Programmoberfläche sehe... Beim Compilen und Linken gibts keine fehler. IDE ist DEV-Cpp( hab auch Turbo c++ von Borland, aber keine ahnung, wie ich da resourcendateien zum projekt hinzufüge...) nja, hier ist erstmal der code.( die ganzen header brauch ich für das programm. Der Grundcode stammt übrigends aus der Datei, die bei der Projekterstellung erstellt wurde. Der bereich zum erstellen der editbox ist auskommentier, damit ich überhaup was vom Programm sehe).</p>
<pre><code class="language-cpp">include &lt;windows.h&gt;
#include &quot;main.h&quot;
#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;map&gt;
#include &lt;string&gt;
#include &lt;cstdlib&gt;
#include &lt;ctime&gt;
#include &lt;time.h&gt;
using namespace std;

/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK ChildProc1 (HWND, UINT, WPARAM, LPARAM);

/*  Make the class name into a global variable  */
char szClassName[ ] = &quot;Vokabeltrainer 2.0&quot;;
char szChildName1[ ] = &quot;Dateiausgabe&quot;;

int WINAPI WinMain (HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)

{
    HWND hwnd;               /* This is the handle for our window */
    MSG messages;            /* Here messages to the application are saved */
    WNDCLASSEX wincl;        /* Data structure for the windowclass */
    HMENU menu;

        /* The Window structure */
    wincl.hInstance = hInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
    wincl.style = CS_DBLCLKS;                 /* Ctach double-clicks */
    wincl.cbSize = sizeof(WNDCLASSEX);

    /* Use default icon and mousepointer */
    wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL; /* No menu */
    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
    wincl.cbWndExtra = 0;                      /* structure or the window instance */
    /* Use Windows's default color as the background of the window */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    if (!RegisterClassEx (&amp;wincl))
        return 0;

    wincl.lpszClassName = szChildName1;
    wincl.lpfnWndProc = ChildProc1;
    wincl.hIcon = NULL;
    wincl.hIconSm = NULL;
    wincl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);

    if (!RegisterClassEx (&amp;wincl))
    return 0;

    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx (
           WS_EX_CLIENTEDGE,                   /* Extended possibilites for variation */
           szClassName,         
           &quot;Vokabeltrainer 2.0&quot;,       
           WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX, 
           CW_USEDEFAULT,       
           CW_USEDEFAULT,       
           600,                 
           400,                 
           HWND_DESKTOP,        
           NULL,                
           hInstance,       
           NULL                 
           );

    /* Make the window visible on the screen */
    ShowWindow (hwnd, nFunsterStil);

    menu = LoadMenu(hInstance, MAKEINTRESOURCE(ID_MENU));
    SetMenu(hwnd, menu);

    /* Run the message loop. It will run until GetMessage() returns 0 */
    while (GetMessage (&amp;messages, NULL, 0, 0))
    {
        /* Translate virtual-key messages into character messages */
        TranslateMessage(&amp;messages);
        /* Send message to WindowProcedure */
        DispatchMessage(&amp;messages);
    }

    /* The program return-value is 0 - The value that PostQuitMessage() gave */
    return messages.wParam;
}

/*  This function is called by the Windows function DispatchMessage()  */

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static HWND    hChild1; //Childwindow für ausgabe des Dateiinhalts
    static HWND hEdit1; // Editfeld zur eingabe der Englischen Vokabel
    char InputEnglish[100] = &quot;Hello World&quot;;
    static HWND hButtonEintragen; // Button zum eintragen in die datei

    switch (message)                  /* handle the messages */
    {
        case WM_COMMAND:
            {
                switch (wParam){
                case IDM_NEWVOK :
                case IDM_OPENVOK :
                case IDM_SAVEVOK :    
                case IDM_PRACTICEVOK :
                case IDM_HELP :
                {
                    MessageBox(hwnd, (LPSTR) &quot;Funktion noch nicht eingebaut.&quot;, (LPSTR) szClassName, MB_ICONINFORMATION | MB_OK);
                    return 0;        
                }
                case IDM_ABOUT :
                    {
                        MessageBox(NULL, &quot;Vokabeltrainer 2.0 \n Copyright bei Martin 'Arathorns Sohn' Alsfasser \n Dark Grass Software&quot;, &quot;Über das Programm&quot;, MB_OK);
                        return 0;
                    }
                case IDM_EXIT :
                    {
                      PostQuitMessage(0);
                      return 0;   
                    }

            }    
            }

        case WM_CREATE:
            {   
                hChild1 = CreateWindowEx(WS_EX_CLIENTEDGE,
                                        szChildName1,
                                        NULL,
                                        WS_CHILD | WS_VISIBLE | WS_VSCROLL | 
                                              ES_AUTOVSCROLL,
                                        310, 10, 270, 330,
                                        hwnd,
                                        NULL,
                                        ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                        NULL);

                /*hEdit1 = CreateWindowEx(WS_EX_CLIENTEDGE,
                                        &quot;edit&quot;,
                                        InputEnglish,
                                        WS_CHILD | WS_VISIBLE,
                                        0, 0, 0, 0,
                                        hwnd,
                                        NULL,
                                        ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                        NULL);*/
                hButtonEintragen = CreateWindow( &quot;button&quot;,
                                                 &quot;Eintragen&quot;,
                                                 WS_CHILD | WS_VISIBLE,
                                                 0, 0, 0, 0,
                                                 hwnd,
                                                 NULL,
                                                 ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                                 NULL);
                MoveWindow(hButtonEintragen, 70, 250, 160, 22, TRUE);

                return 0;
            }    

        case WM_DESTROY:
            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            break;

    }

    return DefWindowProc (hwnd, message, wParam, lParam);
}

LRESULT CALLBACK ChildProc1 (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static RECT rectChild1;
    const char szTextTest[] = &quot; fgfg \n dsa daius \n nuinuin \n nuiniun \n esfghi uehf \n bzububbuzb \n nbuniiuni \n huihuhu \n nuiuniun \n bnzubuzbub \n niuniuin \n nbnnuniuni \n niuniuniounui \n uzb&quot;;
    switch (message)
    {
    case WM_SIZE:
      {
         rectChild1.left    = 0;
         rectChild1.top     = 0;
         rectChild1.right   = LOWORD(lParam);
         rectChild1.bottom  = HIWORD(lParam);

         return 0;
      }
        case WM_PAINT:
            {
                PAINTSTRUCT ps;
                HDC hDC;

                hDC = BeginPaint(hwnd, &amp;ps);
                {
                    DrawText(hDC, szTextTest, lstrlen(szTextTest), &amp;rectChild1, DT_LEFT);
                }
                EndPaint(hwnd, &amp;ps);
                return 0;
            }        
        default :
            break;
    }
    return DefWindowProc(hwnd, message, wParam, lParam);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/188533/winapi-prog-stürzt-beim-klicken-auf-nen-button-ab</link><generator>RSS for Node</generator><lastBuildDate>Fri, 03 Jul 2026 04:29:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/188533.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Aug 2007 13:32:51 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Wed, 01 Aug 2007 13:32:51 GMT]]></title><description><![CDATA[<p>Und genauso, wenn ich ein editfeld einbauen möchte... Also, ich schreibe ein prog zum lernen von Vokabeln und dabei gibts halt das problem, dass das proggie immer abstürzt, wenn ich auf den Button klicke. Die aktion des Butonklicks soll aber ne messageBox aufrufen, die aber nicht erscheint( also es erscheint eine, aber das ist die von windows ' das Programm hat ein Problem festgestellt und muss beendet werden'). das selbe Problem hab ich bei Editfeldern. allerdings stürzt da das Programm ab, bevor ich auch nur die Programmoberfläche sehe... Beim Compilen und Linken gibts keine fehler. IDE ist DEV-Cpp( hab auch Turbo c++ von Borland, aber keine ahnung, wie ich da resourcendateien zum projekt hinzufüge...) nja, hier ist erstmal der code.( die ganzen header brauch ich für das programm. Der Grundcode stammt übrigends aus der Datei, die bei der Projekterstellung erstellt wurde. Der bereich zum erstellen der editbox ist auskommentier, damit ich überhaup was vom Programm sehe).</p>
<pre><code class="language-cpp">include &lt;windows.h&gt;
#include &quot;main.h&quot;
#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;map&gt;
#include &lt;string&gt;
#include &lt;cstdlib&gt;
#include &lt;ctime&gt;
#include &lt;time.h&gt;
using namespace std;

/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
LRESULT CALLBACK ChildProc1 (HWND, UINT, WPARAM, LPARAM);

/*  Make the class name into a global variable  */
char szClassName[ ] = &quot;Vokabeltrainer 2.0&quot;;
char szChildName1[ ] = &quot;Dateiausgabe&quot;;

int WINAPI WinMain (HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)

{
    HWND hwnd;               /* This is the handle for our window */
    MSG messages;            /* Here messages to the application are saved */
    WNDCLASSEX wincl;        /* Data structure for the windowclass */
    HMENU menu;

        /* The Window structure */
    wincl.hInstance = hInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
    wincl.style = CS_DBLCLKS;                 /* Ctach double-clicks */
    wincl.cbSize = sizeof(WNDCLASSEX);

    /* Use default icon and mousepointer */
    wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL; /* No menu */
    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
    wincl.cbWndExtra = 0;                      /* structure or the window instance */
    /* Use Windows's default color as the background of the window */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    if (!RegisterClassEx (&amp;wincl))
        return 0;

    wincl.lpszClassName = szChildName1;
    wincl.lpfnWndProc = ChildProc1;
    wincl.hIcon = NULL;
    wincl.hIconSm = NULL;
    wincl.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH);

    if (!RegisterClassEx (&amp;wincl))
    return 0;

    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx (
           WS_EX_CLIENTEDGE,                   /* Extended possibilites for variation */
           szClassName,         
           &quot;Vokabeltrainer 2.0&quot;,       
           WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX, 
           CW_USEDEFAULT,       
           CW_USEDEFAULT,       
           600,                 
           400,                 
           HWND_DESKTOP,        
           NULL,                
           hInstance,       
           NULL                 
           );

    /* Make the window visible on the screen */
    ShowWindow (hwnd, nFunsterStil);

    menu = LoadMenu(hInstance, MAKEINTRESOURCE(ID_MENU));
    SetMenu(hwnd, menu);

    /* Run the message loop. It will run until GetMessage() returns 0 */
    while (GetMessage (&amp;messages, NULL, 0, 0))
    {
        /* Translate virtual-key messages into character messages */
        TranslateMessage(&amp;messages);
        /* Send message to WindowProcedure */
        DispatchMessage(&amp;messages);
    }

    /* The program return-value is 0 - The value that PostQuitMessage() gave */
    return messages.wParam;
}

/*  This function is called by the Windows function DispatchMessage()  */

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static HWND    hChild1; //Childwindow für ausgabe des Dateiinhalts
    static HWND hEdit1; // Editfeld zur eingabe der Englischen Vokabel
    char InputEnglish[100] = &quot;Hello World&quot;;
    static HWND hButtonEintragen; // Button zum eintragen in die datei

    switch (message)                  /* handle the messages */
    {
        case WM_COMMAND:
            {
                switch (wParam){
                case IDM_NEWVOK :
                case IDM_OPENVOK :
                case IDM_SAVEVOK :    
                case IDM_PRACTICEVOK :
                case IDM_HELP :
                {
                    MessageBox(hwnd, (LPSTR) &quot;Funktion noch nicht eingebaut.&quot;, (LPSTR) szClassName, MB_ICONINFORMATION | MB_OK);
                    return 0;        
                }
                case IDM_ABOUT :
                    {
                        MessageBox(NULL, &quot;Vokabeltrainer 2.0 \n Copyright bei Martin 'Arathorns Sohn' Alsfasser \n Dark Grass Software&quot;, &quot;Über das Programm&quot;, MB_OK);
                        return 0;
                    }
                case IDM_EXIT :
                    {
                      PostQuitMessage(0);
                      return 0;   
                    }

            }    
            }

        case WM_CREATE:
            {   
                hChild1 = CreateWindowEx(WS_EX_CLIENTEDGE,
                                        szChildName1,
                                        NULL,
                                        WS_CHILD | WS_VISIBLE | WS_VSCROLL | 
                                              ES_AUTOVSCROLL,
                                        310, 10, 270, 330,
                                        hwnd,
                                        NULL,
                                        ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                        NULL);

                /*hEdit1 = CreateWindowEx(WS_EX_CLIENTEDGE,
                                        &quot;edit&quot;,
                                        InputEnglish,
                                        WS_CHILD | WS_VISIBLE,
                                        0, 0, 0, 0,
                                        hwnd,
                                        NULL,
                                        ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                        NULL);*/
                hButtonEintragen = CreateWindow( &quot;button&quot;,
                                                 &quot;Eintragen&quot;,
                                                 WS_CHILD | WS_VISIBLE,
                                                 0, 0, 0, 0,
                                                 hwnd,
                                                 NULL,
                                                 ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                                 NULL);
                MoveWindow(hButtonEintragen, 70, 250, 160, 22, TRUE);

                return 0;
            }    

        case WM_DESTROY:
            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            break;

    }

    return DefWindowProc (hwnd, message, wParam, lParam);
}

LRESULT CALLBACK ChildProc1 (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static RECT rectChild1;
    const char szTextTest[] = &quot; fgfg \n dsa daius \n nuinuin \n nuiniun \n esfghi uehf \n bzububbuzb \n nbuniiuni \n huihuhu \n nuiuniun \n bnzubuzbub \n niuniuin \n nbnnuniuni \n niuniuniounui \n uzb&quot;;
    switch (message)
    {
    case WM_SIZE:
      {
         rectChild1.left    = 0;
         rectChild1.top     = 0;
         rectChild1.right   = LOWORD(lParam);
         rectChild1.bottom  = HIWORD(lParam);

         return 0;
      }
        case WM_PAINT:
            {
                PAINTSTRUCT ps;
                HDC hDC;

                hDC = BeginPaint(hwnd, &amp;ps);
                {
                    DrawText(hDC, szTextTest, lstrlen(szTextTest), &amp;rectChild1, DT_LEFT);
                }
                EndPaint(hwnd, &amp;ps);
                return 0;
            }        
        default :
            break;
    }
    return DefWindowProc(hwnd, message, wParam, lParam);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1336557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1336557</guid><dc:creator><![CDATA[Arathorns Sohn]]></dc:creator><pubDate>Wed, 01 Aug 2007 13:32:51 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Wed, 01 Aug 2007 14:50:09 GMT]]></title><description><![CDATA[<p>1: Welchen Button meinst Du? Den Button &quot;Eintragen&quot;?</p>
<p>2: Bei der Abfrage der Actioncodes von WM_COMMAND wählt man nicht wParam, sondern (LOWORD)wParam.</p>
<p>3: Die Behandlung der WM_COMMAND sollte mit break abgeschlossen werden.</p>
<p>4: Ich kann nicht erkennen, daß Du den Button (bzw. dessen Handle) überhaupt abfragst, z. B. mit</p>
<pre><code>if (lParam == (LPARAM)hButtonEintragen)
</code></pre>
<p>(könnte natürlich auch sein, daß ich was übersehen habe... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1336624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1336624</guid><dc:creator><![CDATA[Elektronix]]></dc:creator><pubDate>Wed, 01 Aug 2007 14:50:09 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Wed, 01 Aug 2007 17:08:15 GMT]]></title><description><![CDATA[<p>THX für die antwort8 das mit dem button hab ich wohl nicht gespeichert, es war drin...<br />
1. Ja, ich meine edn Button eintragen<br />
THX, ich probiers mal aus.</p>
<p>Edit: so, dass ende der WM_CREATE sieht jetzt so aus, aber wenn ich auf den button klicke passiert nix...( aja, wenn ich beim switch zu beginn der WM_COMMAND (LOWORD)lParam einsetzte gibts nen fehler, as (LOWORD) nicht gefunden wurde.</p>
<p>2 fragen:<br />
1. Woran liegts, dass es abstürtzt, wenn ich das editfeld drinlasse?<br />
2. ist es möglich, eine Editfeld für den benutzer schreibzuschützen? Das childwindow funzt nämlich nicht( man kann es nicht scrollen, was dafür nötig ist).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1336715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1336715</guid><dc:creator><![CDATA[Arathorns Sohn]]></dc:creator><pubDate>Wed, 01 Aug 2007 17:08:15 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 09:24:00 GMT]]></title><description><![CDATA[<p>kann mir denn niemand helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1337937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1337937</guid><dc:creator><![CDATA[Arathorns Sohn]]></dc:creator><pubDate>Fri, 03 Aug 2007 09:24:00 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 11:26:49 GMT]]></title><description><![CDATA[<p>Fipptehler: LOWORD(wParam) statt (LOWORD)wParam</p>
<p>Ansonsten lass dir mal vom Debugger mitteilen wo er denn abstürzt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";D"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338056</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Fri, 03 Aug 2007 11:26:49 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 11:35:48 GMT]]></title><description><![CDATA[<p>Hey, jetzt stürzt er nicht mehr ab. ber ich hab oben noch ne frage geschrieben( glaub ich).<br />
ist es möglich, ei editfeld schreibzuschützen( der User kann es nicht verändern)?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338073</guid><dc:creator><![CDATA[Arathorns Sohn]]></dc:creator><pubDate>Fri, 03 Aug 2007 11:35:48 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 11:36:27 GMT]]></title><description><![CDATA[<p>genau,<br />
denn &quot;LOWORD&quot; und &quot;HIWORD&quot; sind makros, keine typen {o;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338074</guid><dc:creator><![CDATA[EXDW]]></dc:creator><pubDate>Fri, 03 Aug 2007 11:36:27 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 11:48:28 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/41">@Geeky</a>:<br />
Natürlich LOWORD (wParam). Fein Mehler... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<blockquote>
<p>Hey, jetzt stürzt er nicht mehr ab.</p>
</blockquote>
<p>Na klasse, dann ist ja schon was erreicht... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /><br />
Schreibschützen kannst Du das Editfeld, indem Du WM_CHAR oder WM_KEYDOWN/WM_KEYUP-Nachrichten in der Dialogprozedur abfängst.</p>
<p>Fragt sich allerdings, wozu... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338089</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338089</guid><dc:creator><![CDATA[Elektronix]]></dc:creator><pubDate>Fri, 03 Aug 2007 11:48:28 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 12:08:42 GMT]]></title><description><![CDATA[<p>Arathorns Sohn schrieb:</p>
<blockquote>
<p>ist es möglich, ei editfeld schreibzuschützen( der User kann es nicht verändern)?</p>
</blockquote>
<p>Beim Erstellen mit dem Style ES_READONLY<br />
Im Programm mit der Message EM_SETREADONLY</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338104</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Fri, 03 Aug 2007 12:08:42 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 12:52:07 GMT]]></title><description><![CDATA[<p>THX. ich probiers aus.</p>
<p>aja, ich kann aber trotzdem noch im programm in das editfeld schreiben, oder?</p>
<p>Edit: ok, habs grad rausgefunden. aber damit ne neue frage: wie kann ich bei SetWindowtext nen neue zeile anfangen? ich hab \n probiert, und das funzt nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338132</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338132</guid><dc:creator><![CDATA[Arathorns Sohn]]></dc:creator><pubDate>Fri, 03 Aug 2007 12:52:07 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 13:05:14 GMT]]></title><description><![CDATA[<p>Neue Zeile mit &quot;\r\n&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338161</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338161</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Fri, 03 Aug 2007 13:05:14 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 13:26:18 GMT]]></title><description><![CDATA[<p>Geht nicht. ich bekomme überall, wo das steht || angezeigt... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338180</guid><dc:creator><![CDATA[Arathorns Sohn]]></dc:creator><pubDate>Fri, 03 Aug 2007 13:26:18 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 13:31:12 GMT]]></title><description><![CDATA[<p>Hat du dein EditControl auch mit dem Style ES_MULTILINE erstellt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338186</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338186</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Fri, 03 Aug 2007 13:31:12 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 13:41:19 GMT]]></title><description><![CDATA[<p>*kopf gegen die mauer hau* thx. hab ich vergessen. letzte frage: Wie kann ich die hintergrundfarbe ändern?( son gelb wie in der menüleiste kommt nicht so gut...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338202</guid><dc:creator><![CDATA[Arathorns Sohn]]></dc:creator><pubDate>Fri, 03 Aug 2007 13:41:19 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 14:31:36 GMT]]></title><description><![CDATA[<p>Siehe <a href="http://msdn2.microsoft.com/en-us/library/ms672119.aspx" rel="nofollow">WM_CTLCOLOREDIT</a><br />
und <a href="http://msdn2.microsoft.com/en-us/library/ms651165.aspx" rel="nofollow">WM_CTLCOLORSTATIC</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338244</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338244</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Fri, 03 Aug 2007 14:31:36 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 17:09:01 GMT]]></title><description><![CDATA[<p>da steht, dass das nur funzt, wenn das editwindow nicht readonly ist. das ist es aber. kann mal einer ein beispiel posten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338334</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338334</guid><dc:creator><![CDATA[Arathorns Sohn]]></dc:creator><pubDate>Fri, 03 Aug 2007 17:09:01 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 17:57:43 GMT]]></title><description><![CDATA[<p>Dafür gibt es WM_CTLCOLORSTATIC. Ein ReadOnly-Editfeld wird als Static behandelt.</p>
<p>Mfg Ominion</p>
<p>EDIT:</p>
<pre><code class="language-cpp">case WM_CTLCOLORSTATIC:
	switch (GetWindowLongPtr (reinterpret_cast&lt;HWND&gt; (lParam), GWL_ID))
	{
		case 1: //ID des Fensters

		return (LRESULT) GetStockObject (WHITE_BRUSH);
	}
return 0;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1338348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338348</guid><dc:creator><![CDATA[Ominion]]></dc:creator><pubDate>Fri, 03 Aug 2007 17:57:43 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 18:13:47 GMT]]></title><description><![CDATA[<p>thx. ich probiers aus.</p>
<p>Jetzt hb ich ein weiteres prob. das felb wird erst weiß, wenn ich gescrollt habg( und auch nur da, wo es verdeckt war). das gepostete hab ich vor dem WM_CREATE eingefügt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338350</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338350</guid><dc:creator><![CDATA[Arathorns Sohn]]></dc:creator><pubDate>Fri, 03 Aug 2007 18:13:47 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 20:30:30 GMT]]></title><description><![CDATA[<p>Gffs. InvalidateRect und UpdateWindow.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338416</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Fri, 03 Aug 2007 20:30:30 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Fri, 03 Aug 2007 21:50:08 GMT]]></title><description><![CDATA[<p>Arathorns Sohn schrieb:</p>
<blockquote>
<p>da steht, dass das nur funzt, wenn das editwindow nicht readonly ist. das ist es aber. kann mal einer ein beispiel posten?</p>
</blockquote>
<p>Deshalb hatte ich auch WM_CTLCOLOREDIT <strong>und</strong> WM_CTLCOLORSTATIC erwähnt, für den Fall, dass der Schreibschutz des EditControls sich programmbedingt ändert.</p>
<p>Arathorns Sohn schrieb:</p>
<blockquote>
<p>Jetzt hb ich ein weiteres prob. das felb wird erst weiß, wenn ich gescrollt habg( und auch nur da, wo es verdeckt war). das gepostete hab ich vor dem WM_CREATE eingefügt.</p>
</blockquote>
<p>Als kleinen Hinweis noch die Funktion <a href="http://msdn2.microsoft.com/en-us/library/aa920825.aspx" rel="nofollow">SetBkColor</a>, sonst hast du u.U. hinter dem Text eine andere Hintergrundfarbe als dort, wo sich kein Text befindet.<br />
Ansonsten poste mal deinen Code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338449</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338449</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Fri, 03 Aug 2007 21:50:08 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Sat, 04 Aug 2007 08:11:52 GMT]]></title><description><![CDATA[<p>Das hier ist der code.</p>
<pre><code class="language-cpp">#include &lt;windows.h&gt;
#include &quot;main.h&quot;
#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;map&gt;
#include &lt;string&gt;
#include &lt;cstdlib&gt;
#include &lt;ctime&gt;
#include &lt;time.h&gt;
using namespace std;

/*  Declare Windows procedure  */
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

/*  Make the class name into a global variable  */
char szClassName[ ] = &quot;Vokabeltrainer 2.0&quot;;

int WINAPI WinMain (HINSTANCE hInstance,
                    HINSTANCE hPrevInstance,
                    LPSTR lpszArgument,
                    int nFunsterStil)

{
    HWND hwnd;               /* This is the handle for our window */
    MSG messages;            /* Here messages to the application are saved */
    WNDCLASSEX wincl;        /* Data structure for the windowclass */
    HMENU menu;

        /* The Window structure */
    wincl.hInstance = hInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* This function is called by windows */
    wincl.style = CS_DBLCLKS;                 /* Ctach double-clicks */
    wincl.cbSize = sizeof(WNDCLASSEX);

    /* Use default icon and mousepointer */
    wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL; /* No menu */
    wincl.cbClsExtra = 0;                      /* No extra bytes after the window class */
    wincl.cbWndExtra = 0;                      /* structure or the window instance */
    /* Use Windows's default color as the background of the window */
    wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

    if (!RegisterClassEx (&amp;wincl))
        return 0;

    /* The class is registered, let's create the program*/
    hwnd = CreateWindowEx (
           WS_EX_CLIENTEDGE,                   /* Extended possibilites for variation */
           szClassName,         
           &quot;Vokabeltrainer 2.0&quot;,       
           WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX, 
           CW_USEDEFAULT,       
           CW_USEDEFAULT,       
           600,                 
           400,                 
           HWND_DESKTOP,        
           NULL,                
           hInstance,       
           NULL                 
           );

    /* Make the window visible on the screen */
    ShowWindow (hwnd, nFunsterStil);

    menu = LoadMenu(hInstance, MAKEINTRESOURCE(ID_MENU));
    SetMenu(hwnd, menu);

    /* Run the message loop. It will run until GetMessage() returns 0 */
    while (GetMessage (&amp;messages, NULL, 0, 0))
    {
        /* Translate virtual-key messages into character messages */
        TranslateMessage(&amp;messages);
        /* Send message to WindowProcedure */
        DispatchMessage(&amp;messages);
    }

    /* The program return-value is 0 - The value that PostQuitMessage() gave */
    return messages.wParam;
}

/*  This function is called by the Windows function DispatchMessage()  */

LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    static HWND    hChild1; //Childwindow für ausgabe des Dateiinhalts
    static HWND hEdit1; // Editfeld zur eingabe der Englischen Vokabel
    static HWND hButtonEintragen; // Button zum eintragen in die datei
    const char szTextTest[] = &quot; fgfg \r\n dsa daius \r\n nuinuin \r\n nuiniun \r\n esfghi uehf \r\n bzububbuzb \r\n nbuniiuni \r\n huihuhu \r\n nuiuniun \r\n bnzubuzbub \r\n niuniuin \r\n nbnnuniuni \r\n niuniuniounui \r\n uzb fgfg \r\n dsa daius \r\n nuinuin \r\n nuiniun \r\n esfghi uehf \r\n bzububbuzb \r\n fgfg \r\n dsa daius \r\n nuinuin \r\n nuiniun \r\n esfghi uehf \r\n bzububbuzb \r\n&quot;;

    switch (message)                  /* handle the messages */
    {
        case WM_COMMAND:
            {
                switch (LOWORD(wParam)){
                case IDM_NEWVOK :
                case IDM_OPENVOK :
                case IDM_SAVEVOK :    
                case IDM_PRACTICEVOK :
                case IDM_HELP :
                {
                    MessageBox(hwnd, (LPSTR) &quot;Funktion noch nicht eingebaut.&quot;, (LPSTR) szClassName, MB_ICONINFORMATION | MB_OK);
                    return 0;        
                }
                case IDM_ABOUT :
                    {
                        MessageBox(NULL, &quot;Vokabeltrainer 2.0 \n Copyright bei Martin 'Arathorns Sohn' Alsfasser \n Dark Grass Software&quot;, &quot;Über das Programm&quot;, MB_OK);
                        return 0;
                    }
                case IDM_EXIT :
                    {
                      PostQuitMessage(0);
                      return 0;   
                    }
             if (lParam == (LPARAM)hButtonEintragen)
                    {
            if (HIWORD(wParam) == BN_CLICKED){
               MessageBox(NULL, &quot;Funktion noch nicht eingebaut.&quot;,szClassName, MB_ICONINFORMATION | MB_OK);
                    }            
             }    
            } 
            break;   
            }

            case WM_CTLCOLORSTATIC:
            {
              switch (GetWindowLongPtr (reinterpret_cast&lt;HWND&gt; (lParam), GWL_ID))
              {
                  case 1: //ID des Fensters

                  return (LRESULT) GetStockObject (WHITE_BRUSH);

              }
                 return 0;  
             }

        case WM_CREATE:
            {   

                hEdit1 = CreateWindowEx(WS_EX_CLIENTEDGE,
                                        &quot;edit&quot;,
                                        NULL,
                                        WS_CHILD | WS_VISIBLE | ES_READONLY | WS_VSCROLL | 
                                              ES_AUTOVSCROLL | ES_MULTILINE,
                                        0, 0, 0, 0,
                                        hwnd,
                                        NULL,
                                        ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                        NULL);

                MoveWindow(hEdit1, 310, 10, 270, 330, TRUE);
                SetWindowText(hEdit1, szTextTest);

                hButtonEintragen = CreateWindow( &quot;button&quot;,
                                                 &quot;Eintragen&quot;,
                                                 WS_CHILD | WS_VISIBLE,
                                                 0, 0, 0, 0,
                                                 hwnd,
                                                 NULL,
                                                 ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                                 NULL);
                MoveWindow(hButtonEintragen, 70, 250, 160, 22, TRUE);

                return 0;
            }    

        case WM_DESTROY:
            PostQuitMessage (0);       /* send a WM_QUIT to the message queue */
            break;

    }

    return DefWindowProc (hwnd, message, wParam, lParam);
}
</code></pre>
<p>Die anordnung ist aber noch nicht perfekt, und auch z.b. das SetWindow text kommt noch woanders hin. das ist erstmal nur ein gui test( aja, invalidateRect und update window ham nicht gefunzt, daher sind sie wieder draußen, aber sie standen in der COLORSTATIC message.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338523</guid><dc:creator><![CDATA[Arathorns Sohn]]></dc:creator><pubDate>Sat, 04 Aug 2007 08:11:52 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Sat, 04 Aug 2007 15:17:30 GMT]]></title><description><![CDATA[<p>Als erstes fällt mir auf, dass du dem EditControl keine ID vergibst, während du es anlegst - prüfst aber auf eine ID bei WM_CTLCOLORSTATIC.<br />
Ausserdem hast du ja schon ein statisches HWND auf das EditControl. Wieso benutzt du dieses nicht bei der Abfrage.<br />
InvalidateRect und UpdateWindow solltest du nicht bei Bearbeitung der Message aufrufen, dieses könnte ein dauerhaftes Neuzeichnen des Controls verursachen.</p>
<blockquote>
<p>A static control, or an edit control that is read-only or disabled, sends the WM_CTLCOLORSTATIC message to its parent window when the control is about to be drawn.</p>
</blockquote>
<p>Ein UpdateWindow(hwnd) solltest du allerdings noch in deiner WinMain vor der while-Schleife einfügen.</p>
<p>Hier der (unvollständige) Code, wie es funktionieren sollte:</p>
<pre><code class="language-cpp">static HBRUSH hbrush;

case WM_CREATE:
	// Brush für Hintergrundfarbe des EditControls anlegen
	hbrush = CreateSolidBrush(RGB(255,255,255));

	// weiterer Code

	return 0;

case WM_CTLCOLORSTATIC:
	// prüfen, ob es sich um dein EditControl handelt
	if((HWND)lParam == hEdit1)
	{
		// Hintergrundfarbe hinter Text setzen (gleiche Farbe, wie Hintergrundbrush)
		SetBkColor((HDC)wParam, RGB(255, 255, 255));
		// Optional, z.B. Textfarbe auf Blau
		SetTextColor((HDC)wParam, RGB(0, 0, 255));
		// Hintergrundbrush zurückgeben
		return (LRESULT)hbrush;
	}
	return 0;

case WM_DESTROY:
	if(hbrush)
		DeleteObject(hbrush);

	// weiterer Code

	return 0;
</code></pre>
<p>Diese Lösung ist nicht mit GetStockObject (für Rückgabe des Brushhandles) realisiert, so kannst du jede beliebige Farbe einsetzen. Beachte jedoch, dass du bei CreateSolidBrush und SetBkColor die selben Farbwerte verwendest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338701</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Sat, 04 Aug 2007 15:17:30 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Sat, 04 Aug 2007 15:39:13 GMT]]></title><description><![CDATA[<p>THX. hast mir echt geholfen. wenn das funzt, kann ich erstmal ne weile ohne probs arbeiten.( der Code für das prog liegt nämlich schon ne weile ferig auf meiner HDD( war erst ein konsolen proggie)).</p>
<p>Edit: es funzt. ewnn ich das selbe auch mit anderen editfeldern machen will, muss ich nur das in der COLORSTATIC message ändern( brush soll gleich bleiben), oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338705</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338705</guid><dc:creator><![CDATA[Arathorns Sohn]]></dc:creator><pubDate>Sat, 04 Aug 2007 15:39:13 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Sat, 04 Aug 2007 15:47:34 GMT]]></title><description><![CDATA[<p>Arathorns Sohn schrieb:</p>
<blockquote>
<p>Edit: es funzt. ewnn ich das selbe auch mit anderen editfeldern machen will, muss ich nur das in der COLORSTATIC message ändern( brush soll gleich bleiben), oder?</p>
</blockquote>
<p>Wenn es die EditControls diabled oder readonly sind, brauchst du nur die entsprechenden Handles abfragen und dementsprechend verarbeiten.<br />
Wenn die Controls allerdings enabled <strong>und</strong> nicht readonly sind, musst du das selbe bei WM_CTLCOLOREDIT machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338711</guid><dc:creator><![CDATA[Analog Bit]]></dc:creator><pubDate>Sat, 04 Aug 2007 15:47:34 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Sat, 04 Aug 2007 15:56:25 GMT]]></title><description><![CDATA[<p>Ok, das dachte ich mir aber schon.^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338713</guid><dc:creator><![CDATA[Arathorns Sohn]]></dc:creator><pubDate>Sat, 04 Aug 2007 15:56:25 GMT</pubDate></item><item><title><![CDATA[Reply to Winapi prog stürzt beim klicken auf nen Button ab. on Sun, 05 Aug 2007 08:55:26 GMT]]></title><description><![CDATA[<p>Noch ne frage: wie komme ich an den rgb farbwert des aktuell verwendeeten hintergrundbrushes? ich hab nämlich das problem, dass der schrifthintergrund weiß ist( wo kann man den ändern? auch in der CRTCOLOREDIT?), der fensterhintergrund aber nicht.( benutzt die standart Hintergrundfarbe.) Und da die bei jedem User anders sein kann, hab ich keine ahnung, wie ich an den poassenden rgb wert komme. in der msdn hab ich auch schon geschaut, aber nix gefunden...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1338911</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1338911</guid><dc:creator><![CDATA[Arathorns Sohn]]></dc:creator><pubDate>Sun, 05 Aug 2007 08:55:26 GMT</pubDate></item></channel></rss>