<?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[WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help!]]></title><description><![CDATA[<p>Hi,<br />
In meinem Programm kann der Benutzen die:<br />
- Pfeil-Tasten<br />
- Escape-Taste<br />
- das Numpad</p>
<p>benutzen um verschiedene aktionenzu tätigen, sprich er verändert die Größe einer Variable. Doch nachdem ich eine Editbox oder ein Button von meiem Programm benutzt habe, reagiert mein Programm nicht mehr auf die Tasten. Wisoe?<br />
Für Hilfe bin ich sehr dankbar.</p>
<p>Gruß Tobi.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195484/wm_keydown-funktioniert-nicht-mehr-nach-benutzen-eines-buttons-oder-einer-editbox-help</link><generator>RSS for Node</generator><lastBuildDate>Tue, 30 Jun 2026 00:58:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195484.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 Oct 2007 08:44:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Thu, 18 Oct 2007 08:44:13 GMT]]></title><description><![CDATA[<p>Hi,<br />
In meinem Programm kann der Benutzen die:<br />
- Pfeil-Tasten<br />
- Escape-Taste<br />
- das Numpad</p>
<p>benutzen um verschiedene aktionenzu tätigen, sprich er verändert die Größe einer Variable. Doch nachdem ich eine Editbox oder ein Button von meiem Programm benutzt habe, reagiert mein Programm nicht mehr auf die Tasten. Wisoe?<br />
Für Hilfe bin ich sehr dankbar.</p>
<p>Gruß Tobi.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387679</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Thu, 18 Oct 2007 08:44:13 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Thu, 18 Oct 2007 10:59:19 GMT]]></title><description><![CDATA[<p>Nur das Control bekommt die Keyboard Nachrichten, dass den Focus hat. Hat also Button oder Edit Control den Focus, dann bekommst Du keine Nachrichten mehr an den Dialog oder das Fenster.</p>
<p>Lösen liese sich das nur über:<br />
1. Eigene Messageloop<br />
2. Accelerator für Deine speziellen Befehle, die Control übergreifend funktionieren (auch das erfodert einen Eingriff in die MessagLoop)</p>
<p>Solltest Du einen modalen Dialog haben, der über die Windows Funktionen angezeigt wird. Dan hast Du schonmal Pech gehabt, denn Du hast keinen Zugriff auf die Message Loop in diesem Fall!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387785</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 18 Oct 2007 10:59:19 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Thu, 18 Oct 2007 11:11:23 GMT]]></title><description><![CDATA[<p>ne es ist ein normales winapi fenster</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387792</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Thu, 18 Oct 2007 11:11:23 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Thu, 18 Oct 2007 12:41:26 GMT]]></title><description><![CDATA[<p>wie bau ich mir ne eigene messageloop und wozu?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387877</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387877</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Thu, 18 Oct 2007 12:41:26 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Thu, 18 Oct 2007 14:10:10 GMT]]></title><description><![CDATA[<p>T0bi schrieb:</p>
<blockquote>
<p>wie bau ich mir ne eigene messageloop und wozu?</p>
</blockquote>
<p>Ähhhh... verstehe ich nicht. Du hast doch dann schon eine Message Loop!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387965</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 18 Oct 2007 14:10:10 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Thu, 18 Oct 2007 14:13:23 GMT]]></title><description><![CDATA[<p>jo die vom mainWindow.. aber ich weiss nicht was ich da rein baun muss das das mit dem focus klappt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387967</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Thu, 18 Oct 2007 14:13:23 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Thu, 18 Oct 2007 14:39:05 GMT]]></title><description><![CDATA[<p>T0bi schrieb:</p>
<blockquote>
<p>jo die vom mainWindow.. aber ich weiss nicht was ich da rein baun muss das das mit dem focus klappt</p>
</blockquote>
<p>Dann versuche zu verstehen was TranslateMessage, IsDialogMessage und TranslateAccelerator tun. Dann kommst Du vieleicht drauf...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1387994</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1387994</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 18 Oct 2007 14:39:05 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Thu, 18 Oct 2007 15:14:37 GMT]]></title><description><![CDATA[<p>also da ich nicht mit einem dialog arbeite brauch IsDialogMessage auch nicht, richt? hm anscheind muss ich dann also eine accel tabele anlegen... aber wie macht man sowas?<br />
Ok man braucht CreateAcceleratorTable() und ACCEL, wobei accel ein array sein muss oder? nur wo und wie mach ich definition von accel ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1388013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1388013</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Thu, 18 Oct 2007 15:14:37 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Thu, 18 Oct 2007 15:52:38 GMT]]></title><description><![CDATA[<p>Hm ich hab mich jetzt mal daran probiert aber es tut sich nichts, wenn ich die taste drücke. Hier mal die Teile wo ich jetzt was gemacht habe:</p>
<p>(1) der header für die IDs</p>
<pre><code class="language-cpp">////////////////////////////////////////////////////////////////////////////////
// ACCELERATOR

    #define ID_ACCEL_ESC                            7000
    #define ID_ACCEL_UP                             7001
    #define ID_ACCEL_DOWN                           7002
    #define ID_ACCEL_LEFT                           7003
    #define ID_ACCEL_RIGHT                          7004
</code></pre>
<p>(2) die .rc datei</p>
<pre><code class="language-cpp">////////////////////////////////////////////////////////////////////////////////
// ACCELERATOR

accelTabel ACCELERATORS
BEGIN

    VK_ESCAPE, ID_ACCEL_ESC
    VK_UP, ID_ACCEL_UP
    VK_DOWN, ID_ACCEL_DOWN
    VK_LEFT, ID_ACCEL_LEFT
    VK_RIGHT, ID_ACCEL_RIGHT
END
</code></pre>
<p>in der main .cpp datei</p>
<pre><code class="language-cpp">// ...
// ***** load accelerators *****
    hAccel = LoadAccelerators( hInstance, &quot;accelTable&quot; );

    while( !done ) {

	    if( PeekMessage( &amp;msg, 0, 0, 0, PM_REMOVE ) ) {

            if( msg.message == WM_QUIT ) {

                done = true;

            }
            else {

                if( !( TranslateAccelerator( hWnd, hAccel, &amp;msg ) ) ) {

                    TranslateMessage( &amp;msg );
                    DispatchMessage( &amp;msg );
                }
            }
        }
    }
// ...

// in der command
// ***** accelerators *****
                case ID_ACCEL_UP: {

                    if( rX &lt; 360.0f )
                        rX += 3.0f;
                    if( !bFull ) {

                        SetScrollPos( hScroll_rx, SB_CTL, rX, true );
                    }
                    break;
                }

                case ID_ACCEL_DOWN: {

                    if( rX &gt; 0.0f )
                        rX -= 3.0f;
                    if( !bFull ) {

                        SetScrollPos( hScroll_rx, SB_CTL, rX, true );
                    }
                    break;
                }

                case ID_ACCEL_LEFT: {

                    if( rY &gt; 0.0f )
                        rY -= 3.0f;
                    if( !bFull ) {

                        SetScrollPos( hScroll_ry, SB_CTL, rY, true );
                    }
                    break;
                }

                case ID_ACCEL_RIGHT: {

                    if( rY &lt; 360.0f )
                        rY += 3.0f;
                    if( !bFull ) {

                        SetScrollPos( hScroll_ry, SB_CTL, rY, true );
                    }
                    break;
                }
</code></pre>
<p>hm was ist jetzt noch net richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1388045</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1388045</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Thu, 18 Oct 2007 15:52:38 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Thu, 18 Oct 2007 22:10:40 GMT]]></title><description><![CDATA[<p>hab ich vieleicht die accelerator tabelle falsch definiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1388223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1388223</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Thu, 18 Oct 2007 22:10:40 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Fri, 19 Oct 2007 06:23:14 GMT]]></title><description><![CDATA[<p>T0bi schrieb:</p>
<blockquote>
<p>hab ich vieleicht die accelerator tabelle falsch definiert?</p>
</blockquote>
<p>Sieht gut aus!<br />
1. Wird hAccel geladen? Ich sehe keine Fehlerbehandlung!<br />
2. Bei TranslateAccelerator musst Du das Window Handle angeben, das die WM_COMMAND Handler für Deine Accelerator IDs beherbergt.<br />
3. Du hast dasin einem WM_COMMAND Handler eingebaut? Ich sehe diesen Codeausschnitt nicht!<br />
4. Nur am Rande. Warum verwendest Du PeekMessage und nicht GetMessage? Diese Messageloop frisst 100% Prozessor Ressourcen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1388272</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1388272</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 19 Oct 2007 06:23:14 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Fri, 19 Oct 2007 10:10:14 GMT]]></title><description><![CDATA[<blockquote>
<p>1. Wird hAccel geladen? Ich sehe keine Fehlerbehandlung!</p>
</blockquote>
<p>Hm anscheind kann die Tabelle nicht gladen werden, Fehler:</p>
<pre><code>Der angegebene Ressourcenname wurde nicht in der Image-Datei gefunden.
</code></pre>
<blockquote>
<p>2. Bei TranslateAccelerator musst Du das Window Handle angeben, das die WM_COMMAND Handler für Deine Accelerator IDs beherbergt.</p>
</blockquote>
<p>hWnd ist das Handle vom main Window, in desen WM_COMMAND arbeite ich auch die IDs der accels ab.</p>
<blockquote>
<p>3. Du hast dasin einem WM_COMMAND Handler eingebaut? Ich sehe diesen Codeausschnitt nicht!</p>
</blockquote>
<p>wie meinst du das in einem WM_COMMAND handler? Ich habs lediglich nur in die WM_COMMAND unter switch LOWORD( wParam ) geschoben.</p>
<blockquote>
<p>4. Nur am Rande. Warum verwendest Du PeekMessage und nicht GetMessage? Diese Messageloop frisst 100% Prozessor Ressourcen!</p>
</blockquote>
<p>Sorry habs behoben, das is bei mir noch aus dem Tutorial von NeHe hängen geblieben.</p>
<p>Also alle sin allem scheints beim laden der Tabelle die Probleme zu geben. Muss ich da irgendwie mit MAKEINTRESOURCE arbeiten?</p>
<p>Gruß Tobi.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1388422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1388422</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Fri, 19 Oct 2007 10:10:14 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Fri, 19 Oct 2007 10:27:53 GMT]]></title><description><![CDATA[<p>Entschuldige aber langsam habe ich keine Lust mehr...<br />
Muss man jede Zeile Code bei Dir diskutieren?<br />
Lies den Petzold und lerne.</p>
<p>1. Das mit dem Handler meinte ich, dass Du das als WM_COMMAND Nachricht bekommst. Ich konnte nicht sehen auf welche Nachricht Du reagierst.</p>
<p>2. Dann ist die Table nicht in Deiner EXE. Lade die fertige EXE mit dem Ressourcen-Editor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1388439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1388439</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 19 Oct 2007 10:27:53 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Fri, 19 Oct 2007 11:23:26 GMT]]></title><description><![CDATA[<p>ihat der bcb6 überhaupt nen recourssen editor? der hat doch nur nen image editor net mehr.<br />
Egal habs jetzt hin bekomm das er die Tablle erfolgrich lädt... passiern tut trotzdem nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1388464</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1388464</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Fri, 19 Oct 2007 11:23:26 GMT</pubDate></item><item><title><![CDATA[Reply to WM_KEYDOWN funktioniert nicht mehr nach Benutzen eines Buttons oder einer Editbox, help! on Fri, 19 Oct 2007 11:40:07 GMT]]></title><description><![CDATA[<p>OKay ich nehme alle zurück, ich danke dir wirklich vielmals für deine mühe Martin, jetzt klappt alles <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>
<p>Danke.</p>
<p>Gruß Tobi.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1388483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1388483</guid><dc:creator><![CDATA[T0bi]]></dc:creator><pubDate>Fri, 19 Oct 2007 11:40:07 GMT</pubDate></item></channel></rss>