<?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[Probleme beim erstellen von Buttons]]></title><description><![CDATA[<pre><code class="language-cpp">//
//
//

#include &lt;windows.h&gt;

/* Callback Deklarieren */
LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);

/* Klassen Name */
char szClassName[ ] = &quot;WindowsApp&quot;;

/* Ähnlich int Main() bei Konsole */
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)

{
    HWND hwnd;               /* Handle zum Fenster */
    MSG messages;            /* Nachrichten an das Fenster */
    WNDCLASSEX wincl;        /* Daten Struktur für Die Fensterklasse */
    int button;

    /* Fenster struktur */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* Hier wird das Callback angegeben */
    wincl.style = CS_DBLCLKS;
    wincl.cbSize = sizeof(WNDCLASSEX);

    wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL; /* Kein Menü */
    wincl.cbClsExtra = 0;
    wincl.cbWndExtra = 0;

    wincl.hbrBackground = (HBRUSH) GetStockObject(LTGRAY_BRUSH);

    /* Registriert die Klasse */
    if(!RegisterClassEx(&amp;wincl)) return 0;

    /* Fenster erstellen */
    hwnd = CreateWindowEx(
           0,
           szClassName,         /* Klassenname */
           &quot;Mein Fenster&quot;,      /* TitelText */
           WS_OVERLAPPEDWINDOW,
           CW_USEDEFAULT,
           CW_USEDEFAULT,
           544,                 /* Breite */
           375,                 /* Höhe */
           HWND_DESKTOP,        /* Child Fenster vom Desktop */
           NULL,                /* Keine Menu */
           hThisInstance,
           NULL
           );
    button = CreateWindowEx(
           0,
           &quot;Button&quot;,
           &quot;Button&quot;,
           WS_CHILD | WS_VISIBLE,
           10,
           10,
           100,
           20,
           hwnd, &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; HIER IST DER FEHLER
           NULL,
           0,
           NULL
           );

    /* Fenster wird angezeigt*/
    ShowWindow(hwnd, nFunsterStil);

    /* Hauptschleife */
    while(GetMessage(&amp;messages, NULL, 0, 0))
    {
           /* Virtual Key in Nachricht umwandeln */
           TranslateMessage(&amp;messages);
           /* Nachricht an Callback senden */
           DispatchMessage(&amp;messages);
    }

    return messages.wParam;
}

/* Callback, aufgerufen von DispatchMessage */
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
           case WM_DESTROY:
             PostQuitMessage(0);        /* Beenden */
           break;
           default:
           return DefWindowProc(hwnd, message, wParam, lParam);
    }
    return 0;
}
</code></pre>
<p>So ich bin neu bei C++ und Winapi.. habe jetz mal ein Fenster erstellt und wollte ein Button draufmachen..dabei kommt dieser Error: *<em>65 main.cpp<br />
assignment to `int' from `HWND__ <em>' lacks a cast</em></em> (Hab ihn im Code makiert)</p>
<p>Was mach ich hier jetz falsch?<br />
Bittö helft mir *flenn*</p>
<p>P.S.: Benutze Dev-C++</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/95400/probleme-beim-erstellen-von-buttons</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Apr 2026 11:38:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/95400.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 19 Dec 2004 11:59:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Probleme beim erstellen von Buttons on Sun, 19 Dec 2004 11:59:23 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">//
//
//

#include &lt;windows.h&gt;

/* Callback Deklarieren */
LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);

/* Klassen Name */
char szClassName[ ] = &quot;WindowsApp&quot;;

/* Ähnlich int Main() bei Konsole */
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)

{
    HWND hwnd;               /* Handle zum Fenster */
    MSG messages;            /* Nachrichten an das Fenster */
    WNDCLASSEX wincl;        /* Daten Struktur für Die Fensterklasse */
    int button;

    /* Fenster struktur */
    wincl.hInstance = hThisInstance;
    wincl.lpszClassName = szClassName;
    wincl.lpfnWndProc = WindowProcedure;      /* Hier wird das Callback angegeben */
    wincl.style = CS_DBLCLKS;
    wincl.cbSize = sizeof(WNDCLASSEX);

    wincl.hIcon = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
    wincl.hCursor = LoadCursor(NULL, IDC_ARROW);
    wincl.lpszMenuName = NULL; /* Kein Menü */
    wincl.cbClsExtra = 0;
    wincl.cbWndExtra = 0;

    wincl.hbrBackground = (HBRUSH) GetStockObject(LTGRAY_BRUSH);

    /* Registriert die Klasse */
    if(!RegisterClassEx(&amp;wincl)) return 0;

    /* Fenster erstellen */
    hwnd = CreateWindowEx(
           0,
           szClassName,         /* Klassenname */
           &quot;Mein Fenster&quot;,      /* TitelText */
           WS_OVERLAPPEDWINDOW,
           CW_USEDEFAULT,
           CW_USEDEFAULT,
           544,                 /* Breite */
           375,                 /* Höhe */
           HWND_DESKTOP,        /* Child Fenster vom Desktop */
           NULL,                /* Keine Menu */
           hThisInstance,
           NULL
           );
    button = CreateWindowEx(
           0,
           &quot;Button&quot;,
           &quot;Button&quot;,
           WS_CHILD | WS_VISIBLE,
           10,
           10,
           100,
           20,
           hwnd, &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; HIER IST DER FEHLER
           NULL,
           0,
           NULL
           );

    /* Fenster wird angezeigt*/
    ShowWindow(hwnd, nFunsterStil);

    /* Hauptschleife */
    while(GetMessage(&amp;messages, NULL, 0, 0))
    {
           /* Virtual Key in Nachricht umwandeln */
           TranslateMessage(&amp;messages);
           /* Nachricht an Callback senden */
           DispatchMessage(&amp;messages);
    }

    return messages.wParam;
}

/* Callback, aufgerufen von DispatchMessage */
LRESULT CALLBACK WindowProcedure(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
           case WM_DESTROY:
             PostQuitMessage(0);        /* Beenden */
           break;
           default:
           return DefWindowProc(hwnd, message, wParam, lParam);
    }
    return 0;
}
</code></pre>
<p>So ich bin neu bei C++ und Winapi.. habe jetz mal ein Fenster erstellt und wollte ein Button draufmachen..dabei kommt dieser Error: *<em>65 main.cpp<br />
assignment to `int' from `HWND__ <em>' lacks a cast</em></em> (Hab ihn im Code makiert)</p>
<p>Was mach ich hier jetz falsch?<br />
Bittö helft mir *flenn*</p>
<p>P.S.: Benutze Dev-C++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/676527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676527</guid><dc:creator><![CDATA[leo1991]]></dc:creator><pubDate>Sun, 19 Dec 2004 11:59:23 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim erstellen von Buttons on Sun, 19 Dec 2004 12:51:44 GMT]]></title><description><![CDATA[<p>probiers mal mit:</p>
<pre><code class="language-cpp">button = CreateWindow(  &quot;button&quot;,
                                  &quot;Button (was auf dem button steht)&quot;,
                                  WS_CHILD | WS_VISIBLE,
                                  10, 10, 100, 20,
                                  hWnd,
                                  NULL,
                                  ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                  NULL);
</code></pre>
<p>das [...]-&gt;hInstance ist wichtig!!!<br />
CreateWindowEx kannst du in deinem fall auch gegen CreateWindow austauschen und den 1. Parameter weglassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/676575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676575</guid><dc:creator><![CDATA[ItsNotYou]]></dc:creator><pubDate>Sun, 19 Dec 2004 12:51:44 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim erstellen von Buttons on Sun, 19 Dec 2004 12:56:48 GMT]]></title><description><![CDATA[<p>ItsNotYou schrieb:</p>
<blockquote>
<p>probiers mal mit:</p>
<pre><code class="language-cpp">button = CreateWindow(  &quot;button&quot;,
                                  &quot;Button (was auf dem button steht)&quot;,
                                  WS_CHILD | WS_VISIBLE,
                                  10, 10, 100, 20,
                                  hWnd,
                                  NULL,
                                  ((LPCREATESTRUCT) lParam) -&gt; hInstance,
                                  NULL);
</code></pre>
<p>das [...]-&gt;hInstance ist wichtig!!!<br />
CreateWindowEx kannst du in deinem fall auch gegen CreateWindow austauschen und den 1. Parameter weglassen.</p>
</blockquote>
<p>Jo jetz sagt er mir, dass lParam undekliniert is, wie muss ich den den deklinieren und wo? LPARAM lParam oder wie?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/676581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676581</guid><dc:creator><![CDATA[leo1991]]></dc:creator><pubDate>Sun, 19 Dec 2004 12:56:48 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim erstellen von Buttons on Sun, 19 Dec 2004 12:56:52 GMT]]></title><description><![CDATA[<p>ich würde buttons in der WindowProcedure einsetzen...</p>
<p>Guck mal unter <a href="http://www.win-api.de/tutorials.php?tutid=15" rel="nofollow">http://www.win-api.de/tutorials.php?tutid=15</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/676582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676582</guid><dc:creator><![CDATA[ItsNotYou]]></dc:creator><pubDate>Sun, 19 Dec 2004 12:56:52 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim erstellen von Buttons on Sun, 19 Dec 2004 13:15:55 GMT]]></title><description><![CDATA[<p>ItsNotYou schrieb:</p>
<blockquote>
<p>ich würde buttons in der WindowProcedure einsetzen...</p>
<p>Guck mal unter <a href="http://www.win-api.de/tutorials.php?tutid=15" rel="nofollow">http://www.win-api.de/tutorials.php?tutid=15</a>.</p>
</blockquote>
<p>Jo jetz klappts, aber was passiert hier: ((LPCREATESTRUCT) lParam) -&gt; hInstance?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/676600</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676600</guid><dc:creator><![CDATA[leo1991]]></dc:creator><pubDate>Sun, 19 Dec 2004 13:15:55 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim erstellen von Buttons on Sun, 19 Dec 2004 14:12:35 GMT]]></title><description><![CDATA[<p>leo1991 schrieb:</p>
<blockquote>
<p>was passiert hier: ((LPCREATESTRUCT) lParam) -&gt; hInstance?</p>
</blockquote>
<p>Da holst du dir das Instanz-Handle deiner Anwendung ( = hThisInstance aus WinMain) .<br />
Du könntest auch in WinMain hThisInstance in eine globale Variable kopieren, aber die sparst du dir eben über ((LPCREATESTRUCT)lParam)-&gt;hInstance <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/676642</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676642</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 19 Dec 2004 14:12:35 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim erstellen von Buttons on Sun, 19 Dec 2004 14:16:19 GMT]]></title><description><![CDATA[<p>flenders schrieb:</p>
<blockquote>
<p>leo1991 schrieb:</p>
<blockquote>
<p>was passiert hier: ((LPCREATESTRUCT) lParam) -&gt; hInstance?</p>
</blockquote>
<p>Da holst du dir das Instanz-Handle deiner Anwendung ( = hThisInstance aus WinMain) .<br />
Du könntest auch in WinMain hThisInstance in eine globale Variable kopieren, aber die sparst du dir eben über ((LPCREATESTRUCT)lParam)-&gt;hInstance <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Hm und was macht -&gt; dabei?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/676644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676644</guid><dc:creator><![CDATA[leo1991]]></dc:creator><pubDate>Sun, 19 Dec 2004 14:16:19 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim erstellen von Buttons on Sun, 19 Dec 2004 14:22:08 GMT]]></title><description><![CDATA[<p>lParam ist ein Pointer. Da du weißt, dass er auf ein CREATESTRUCT zeigt castest du dorthin. Da es aber ein Pointer ist brauchst du den -&gt; Operator (und nicht den .) um auf die einzelnen Member der Struktur zuzugreifen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/676650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676650</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 19 Dec 2004 14:22:08 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim erstellen von Buttons on Sun, 19 Dec 2004 14:57:17 GMT]]></title><description><![CDATA[<p>flenders schrieb:</p>
<blockquote>
<p>lParam ist ein Pointer. Da du weißt, dass er auf ein CREATESTRUCT zeigt castest du dorthin. Da es aber ein Pointer ist brauchst du den -&gt; Operator (und nicht den .) um auf die einzelnen Member der Struktur zuzugreifen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
</blockquote>
<p>Achso ^^<br />
Wusste nich dass das in C++ so geht <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=";)"
      alt="😉"
    /></p>
<p>Doch wie könnte ich dass mit Buttons in Proceduren fassen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/676663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676663</guid><dc:creator><![CDATA[leo1991]]></dc:creator><pubDate>Sun, 19 Dec 2004 14:57:17 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim erstellen von Buttons on Sun, 19 Dec 2004 15:00:51 GMT]]></title><description><![CDATA[<p>leo1991 schrieb:</p>
<blockquote>
<p>Wusste nich dass das in C++ so geht <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=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Struct und Pointer gibt es doch auch in C, oder bin ich gerade völlig daneben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>leo1991 schrieb:</p>
<blockquote>
<p>Doch wie könnte ich dass mit Buttons in Proceduren fassen?</p>
</blockquote>
<p>Was genau meinst du damit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/676664</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676664</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 19 Dec 2004 15:00:51 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim erstellen von Buttons on Sun, 19 Dec 2004 15:45:11 GMT]]></title><description><![CDATA[<p>flenders schrieb:</p>
<blockquote>
<p>leo1991 schrieb:</p>
<blockquote>
<p>Wusste nich dass das in C++ so geht <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=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Struct und Pointer gibt es doch auch in C, oder bin ich gerade völlig daneben <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Bin von (Pure) Basic auf C++ umgestiegen, da ging das mit Structuren und Pointern anders</p>
<p>leo1991 schrieb:</p>
<blockquote>
<p>Doch wie könnte ich dass mit Buttons in Proceduren fassen?</p>
</blockquote>
<p>Was genau meinst du damit?</p>
</blockquote>
<p>Naja so in der Art CreateButton..aber ich glaub ich hab da schon ne idee..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/676681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676681</guid><dc:creator><![CDATA[leo1991]]></dc:creator><pubDate>Sun, 19 Dec 2004 15:45:11 GMT</pubDate></item><item><title><![CDATA[Reply to Probleme beim erstellen von Buttons on Sun, 19 Dec 2004 16:21:04 GMT]]></title><description><![CDATA[<p>Ich hätte gedacht der Compiler hätte das angemeckert:<br />
button = CreateWindowEx(...<br />
weil du button mit &quot;int button;&quot; definiert hast und nicht mit &quot;HWND button;&quot;...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/676702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/676702</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Sun, 19 Dec 2004 16:21:04 GMT</pubDate></item></channel></rss>