<?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[Tabstop?]]></title><description><![CDATA[<p>Ich habe ein Window mit 8 Child &quot;edit&quot; Windows<br />
Nun möchte ich, dass er beim drücken von TAB nicht im edit Feld vorwärts springt sondern den Focus ins nächste edit Feld setzt</p>
<p>Klar, ich könnte KEYDOWN abfragen und via SetFocus machen, aber geht das nicht auch einfacher?<br />
Ich habe schon mit WS_GROUP und WS_TABSTOP herumprobiert, aber ich schätze da übersehe ich irgendwas, was noch zusätzlich eingestellt werden muss?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/156478/tabstop</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 03:42:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/156478.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Aug 2006 00:57:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Tabstop? on Thu, 17 Aug 2006 00:57:58 GMT]]></title><description><![CDATA[<p>Ich habe ein Window mit 8 Child &quot;edit&quot; Windows<br />
Nun möchte ich, dass er beim drücken von TAB nicht im edit Feld vorwärts springt sondern den Focus ins nächste edit Feld setzt</p>
<p>Klar, ich könnte KEYDOWN abfragen und via SetFocus machen, aber geht das nicht auch einfacher?<br />
Ich habe schon mit WS_GROUP und WS_TABSTOP herumprobiert, aber ich schätze da übersehe ich irgendwas, was noch zusätzlich eingestellt werden muss?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118817</guid><dc:creator><![CDATA[Thomasio]]></dc:creator><pubDate>Thu, 17 Aug 2006 00:57:58 GMT</pubDate></item><item><title><![CDATA[Reply to Tabstop? on Thu, 17 Aug 2006 07:12:31 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Jedes Control das mit dem Tab angesprungen werden soll muss den WS_TABSTOP Style besitzen und in deiner MessageLoop musst du IsDialogMessage() einbauen.</p>
<pre><code class="language-cpp">MSG msg;
while (GetMessage(&amp;msg, 0, 0, 0)) 
{
    if(!IsDialogMessage(hwnd,&amp;msg))
    {
        TranslateMessage(&amp;msg);
        DispatchMessage(&amp;msg);
    }
}
</code></pre>
<p>Wichtig, wenn du mehrere Fenster hast, musst du IsDialogMessage für jedes Fenster mit eigenem WndProc abfragen. (Bis ich da drauf gekommen bin hat es ne Ewigkeit gebraucht ^^)</p>
<p>Edit: Achja, und irgendein Control von denen mit WS_TABSTOP Style braucht den Eingabefokus (kann man mit SetFocus() setzen);</p>
<p>BR<br />
Vinzenz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118880</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118880</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Thu, 17 Aug 2006 07:12:31 GMT</pubDate></item><item><title><![CDATA[Reply to Tabstop? on Thu, 17 Aug 2006 08:08:20 GMT]]></title><description><![CDATA[<p>ach du Jammer, da ist ja meine Lösung mit KEYDOWN abfragen noch einfacher, und ich dachte ich machs mir unnötig schwer</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1118915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1118915</guid><dc:creator><![CDATA[Thomasio]]></dc:creator><pubDate>Thu, 17 Aug 2006 08:08:20 GMT</pubDate></item><item><title><![CDATA[Reply to Tabstop? on Thu, 17 Aug 2006 10:26:40 GMT]]></title><description><![CDATA[<p>Wo willst du da WM_KEYDOWN abfangen? Die WM_KEYDOWN Message bekommt ja nur dein Edit Control. Wenn du das ganze ohne IsDialogMessage() machen willst, musst du jedes Editfeld Subclassen (heißt das so? ich meine die WndProc des Editfeldes gegen deine eigene Tauschen) und dir dann noch etwas überlegen, damit der ganze Kram Editübergreifend funktioniert (also solche Sachen wie welches Editfeld wird beim druck auf Tab als nächstes fokusiert).</p>
<p>Am besten nimmst du einfach IsDialogMesssage und WS_TABSTOP, man brauch eigentlich nur 4-5 Minuten um das einzubauen. Wenn du die Tabreihenfolge der Editfenster verändern willst, musst du übrigens einfach die Reihenfolge der CreateWindow aufrufe entsprechend abändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1119051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1119051</guid><dc:creator><![CDATA[flammenvogel]]></dc:creator><pubDate>Thu, 17 Aug 2006 10:26:40 GMT</pubDate></item></channel></rss>