<?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[EN_CHANGE]]></title><description><![CDATA[<p>hy, kann mir jemand sagen wo ich in einer Win32 Anwendung unter der Callback function der Anwendung das EN_CHANGE einer Editbox abfangen kann.</p>
<p>egal was ich versucht hab hat nicht geklappt.</p>
<p>thx für die hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/167636/en_change</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 14:11:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167636.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 13 Dec 2006 09:52:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to EN_CHANGE on Wed, 13 Dec 2006 09:52:14 GMT]]></title><description><![CDATA[<p>hy, kann mir jemand sagen wo ich in einer Win32 Anwendung unter der Callback function der Anwendung das EN_CHANGE einer Editbox abfangen kann.</p>
<p>egal was ich versucht hab hat nicht geklappt.</p>
<p>thx für die hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191062</guid><dc:creator><![CDATA[Win32]]></dc:creator><pubDate>Wed, 13 Dec 2006 09:52:14 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Wed, 13 Dec 2006 10:25:12 GMT]]></title><description><![CDATA[<p>EN_CHANGE wird afaik als WM_COMMAND Nachricht geschickt, also mußt du letztendlich eine WM_COMMAND abfangen und ihre Parameter auslesen (in HIWORD(wParam steht EN_CHANGE, in LOWORD(wParam) die ID des betroffenen Controls).</p>
<p>Oder du legst über den MFC Klassenassistenten einen Handler an, der die Nachricht verarbeitet.</p>
<p>PS: Arbeitest du eigentlich mit nacktem WinAPI oder mit MFC? Im ersteren Fall würde ich dich ins richtige Board verschieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191080</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191080</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 13 Dec 2006 10:25:12 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Wed, 13 Dec 2006 10:43:59 GMT]]></title><description><![CDATA[<blockquote>
<p>Im ersteren Fall würde ich dich ins richtige Board verschieben</p>
</blockquote>
<p>ne das passt ich arbeite mit dem mfc<br />
ok das hilft schonmal ich hab die ganze zeit unter LOWORD(wParam) gesucht <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>
<blockquote>
<p>Oder du legst über den MFC Klassenassistenten einen Handler an, der die Nachricht verarbeitet</p>
</blockquote>
<p>was meinst du damit ? evtl ne eigene callback für das editfeld??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191090</guid><dc:creator><![CDATA[win32]]></dc:creator><pubDate>Wed, 13 Dec 2006 10:43:59 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Wed, 13 Dec 2006 10:50:56 GMT]]></title><description><![CDATA[<p>win32 schrieb:</p>
<blockquote>
<blockquote>
<p>Oder du legst über den MFC Klassenassistenten einen Handler an, der die Nachricht verarbeitet</p>
</blockquote>
<p>was meinst du damit ? evtl ne eigene callback für das editfeld??</p>
</blockquote>
<p>Du öffnest den Klassenassistenten, wählst dort das Edit-Feld (unter &quot;Objekt-IDs&quot;) und die Nachricht EN_CHANGE (unter &quot;Nachrichten&quot;) aus, klickst auf &quot;Funktion hinzufügen&quot; und gibst der Methode einen brauchbaren Namen (voreingestellt ist OnChangeXXX) - anschließend kannst du dort drin die Reaktionen auf Änderungen reinschreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191096</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191096</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 13 Dec 2006 10:50:56 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Wed, 13 Dec 2006 11:05:10 GMT]]></title><description><![CDATA[<p>häää <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="😕"
    /><br />
klassenassisten in einer Win32 Anwendung geht bei mir nicht hab auch grad mal schnell mit dem mfc ne HelloWorld Win32 anwendung erstellt aber da gibt es auch keinen klassenassi bzw. ich kann ihn schon öffnen nur ist der leer ohne klassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191104</guid><dc:creator><![CDATA[Win32]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:05:10 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Wed, 13 Dec 2006 11:12:06 GMT]]></title><description><![CDATA[<p>Das heißt, du arbeitest doch mit einer nackten Windows-Anwendung (*schiebt ins WinAPI-Board*).</p>
<p>In dem Fall reicht es vermutlich, die entsprechende Auswertung in deiner Window-Proc durchzuführen:</p>
<pre><code class="language-cpp">switch(Msg)
{
...
case WM_COMMAND:
  switch(HIWORD(wParam))
  {
  case EN_CHANGE:
    {
      int id=LOWORD(wParam);
      //reagiere auf Änderungen
      break;
    }
  ...
  }
  break;
...
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1191106</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191106</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:12:06 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Wed, 13 Dec 2006 11:12:16 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=18038" rel="nofollow">CStoll</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=1" rel="nofollow">MFC (Visual C++)</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=4" rel="nofollow">WinAPI</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191107</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Wed, 13 Dec 2006 11:12:16 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Wed, 13 Dec 2006 17:53:58 GMT]]></title><description><![CDATA[<p>ok gut denke jetzt hab ich kapiert was der unterschied zwischen winapi und mfc forum ist <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="😉"
    /> hoffe ich</p>
<p>also das mit EN_CHANGE klapt jetzt</p>
<p>allerdings würde ich zetzt gern WM_KEYDOWN nutzen nur es passiert nix, so wie ich es mache, HI- LOWORD vor wParam hab ich schon durch. der geht mir nichtmal in WM_KEYDOWN rein wenn ich direckt darunter die MessageBox setze.</p>
<pre><code>switch(Msg)
{
....
    case WM_KEYDOWN:
        switch(wParam)
        {
            case VK_BACK:
            {
                MessageBox(0,&quot;Mach was&quot;,0,0);
            }
            break;
        }
    break;
....
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1191361</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191361</guid><dc:creator><![CDATA[Win32]]></dc:creator><pubDate>Wed, 13 Dec 2006 17:53:58 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Wed, 13 Dec 2006 18:05:47 GMT]]></title><description><![CDATA[<p>Die WM_KEYDOWN-Nachrichten werden auch nicht an das Parent-Fenster, sondern an die WndProc Deines Controls gesendet <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="😉"
    /> . Du kannst hier <a href="http://winapi.net/index.php?inhalt=s27" rel="nofollow">SubClassen</a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191365</guid><dc:creator><![CDATA[CodeFinder]]></dc:creator><pubDate>Wed, 13 Dec 2006 18:05:47 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Wed, 13 Dec 2006 18:25:01 GMT]]></title><description><![CDATA[<p>danke na dann war ich ja vorher mit</p>
<blockquote>
<p>evtl ne eigene callback für das editfeld</p>
</blockquote>
<p>gar nicht so falsch gelegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191369</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191369</guid><dc:creator><![CDATA[Win32]]></dc:creator><pubDate>Wed, 13 Dec 2006 18:25:01 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Thu, 14 Dec 2006 07:46:45 GMT]]></title><description><![CDATA[<p>hab da nochmal ne frage bezüglich wie ich tasten sperren kann.<br />
wie aus dem beitrag subclassen hervorgeht kann ich tastenereignisse abfangen und unter WM_CHAR unerwünschte mit return 0 zurückweisen.</p>
<p>jetzt möchte ich zb alle tasten zurückweisen die über Strg Alt bzw. AltGr erreichbar sind. ich hab jetzt schon wieder einiges versucht alle WM_SYS...s<br />
in der CallBack funktion des Hauptdialogs bzw. in der CallBack des Editfeldes ich komm nur unter WM_KEYDOWN an die Tasten Strg Alt AltGr. leider lassen diese sich nicht mit return 0 zurückweisen. da ich im editfeld immer noch solche zeichen setzen kann wie {[]}\.</p>
<p>es wäre doch echt einfacher die systemtaste zu sperren als jedes einzelne zeichen was ich über diese erreiche. war zumindest mein gedanke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191522</guid><dc:creator><![CDATA[Win32]]></dc:creator><pubDate>Thu, 14 Dec 2006 07:46:45 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Thu, 14 Dec 2006 08:02:22 GMT]]></title><description><![CDATA[<p>Die Alt-Taste kannst du aus den Nachrichten-Parametern heraus abfragen (Bit 29 des lParam ist gesetzt, wenn Alt gedrückt war), für alle anderen Sondertasten könntest du WM_KEYDOWN und WM_KEYUP abfragen und ein eigenes Flag setzen (WM_KEYDOWN für VK_CONTROL setzt das Flag, WM_KEYUP setzt es wieder zurück und WM_CHAR prüft als erstes, ob es gesetzt ist).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191526</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 14 Dec 2006 08:02:22 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Thu, 14 Dec 2006 08:20:30 GMT]]></title><description><![CDATA[<p>wow ähm langsam langsam,<br />
das sind meine ersten schritte bezüglich tasten abfangen bzw. sperren.<br />
ich versteh im moment nur bahnhof.<br />
könntest du das bitte etwas ausführlicher erklären <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 />
thx</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191540</guid><dc:creator><![CDATA[Win32]]></dc:creator><pubDate>Thu, 14 Dec 2006 08:20:30 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Thu, 14 Dec 2006 08:34:51 GMT]]></title><description><![CDATA[<p>OK, dann langsamer: Wenn eine Taste gedrückt wird, bekommst du eine WM_KEYDOWN Nachricht. Wenn sie wieder losgelassen wird, die dazu passende WM_KEYUP. Aus den beiden Nachrichten berechnet das System dann die WM_CHAR Nachrichten. (Grundlagen bis hierhin verstanden?)</p>
<p>Jetzt willst du wissen, ob eine bestimmte Steuertaste während deine WM_CHAR gedrückt war. Dazu kannst du abfangen, wann die Nachricht gedrückt und wieder losgelassen wird:</p>
<pre><code class="language-cpp">bool kCtrl=false;
switch(Msg)
{
...
case WM_KEYDOWN:
  if(wParam==VK_CONTROL)//Taste 'Strg' wurde gedrückt
    kCtrl=true;
  break;
case WM_KEYUP:
  if(wParam==VK_CONTROL)//Taste 'Strg' wurde losgelassen
    kCtrl=false;
  break;
case WM_CHAR
  if(kCtrl) return 0;//wenn 'Strg' aktiv ist, abbrechen
  ...
  break;
...
}
</code></pre>
<p>PS: Eine andere Möglichkeit, die mir auch noch eingefallen ist: mit GetAsyncKeyState() kannst du abfragen, ob eine Taste gerade gedückt ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1191552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191552</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Thu, 14 Dec 2006 08:34:51 GMT</pubDate></item><item><title><![CDATA[Reply to EN_CHANGE on Thu, 14 Dec 2006 08:58:04 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> thx<br />
das war schnell genug <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1191563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1191563</guid><dc:creator><![CDATA[Win32]]></dc:creator><pubDate>Thu, 14 Dec 2006 08:58:04 GMT</pubDate></item></channel></rss>