<?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[IsDialogMessage und Multiline-Edits]]></title><description><![CDATA[<p>Hi Leute!</p>
<p>Ich habe ein Problem mit IsDialogMessage und Editboxen mit dem ES_MULTILINE-Stil.</p>
<p>Ich habe alle Fenster bis auf &quot;static&quot;s (für Texte) und &quot;edit&quot;s mit ES_MULTILINE-Stil den zusätzlichen Stil &quot;WS_TABSTOP&quot; gegeben, damit ich mit TAB die einzelnen Elemente durchsteppen kann. Das geht wunderbar.</p>
<p>Ein doofer Nebeneffekt dabei ist, dass ich nicht mehr einen Absatz, geschweige einen Tabulator in Edits mit ES_MULTILINE setzen kann! Kurz: Das ES_MULTILINE ist keine Multiline dadurch mehr sondern eine Singleline <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="😞"
    /> Gebe ich diesen Editboxen auch einen WS_TABSTOP als zusätzlichen Stil, dann geht es auch nicht.</p>
<p>Hier meine Hauptschleife:</p>
<pre><code class="language-cpp">while (GetMessage (&amp;message, nullptr, 0, 0))
    {
        if (!IsDialogMessage (hwnd, &amp;message))
        {
            TranslateMessage (&amp;message);
            DispatchMessage (&amp;message);
        }
    }
</code></pre>
<p>Jemand eine Idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235138/isdialogmessage-und-multiline-edits</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Apr 2026 11:23:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235138.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 26 Feb 2009 09:24:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to IsDialogMessage und Multiline-Edits on Thu, 26 Feb 2009 09:24:50 GMT]]></title><description><![CDATA[<p>Hi Leute!</p>
<p>Ich habe ein Problem mit IsDialogMessage und Editboxen mit dem ES_MULTILINE-Stil.</p>
<p>Ich habe alle Fenster bis auf &quot;static&quot;s (für Texte) und &quot;edit&quot;s mit ES_MULTILINE-Stil den zusätzlichen Stil &quot;WS_TABSTOP&quot; gegeben, damit ich mit TAB die einzelnen Elemente durchsteppen kann. Das geht wunderbar.</p>
<p>Ein doofer Nebeneffekt dabei ist, dass ich nicht mehr einen Absatz, geschweige einen Tabulator in Edits mit ES_MULTILINE setzen kann! Kurz: Das ES_MULTILINE ist keine Multiline dadurch mehr sondern eine Singleline <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="😞"
    /> Gebe ich diesen Editboxen auch einen WS_TABSTOP als zusätzlichen Stil, dann geht es auch nicht.</p>
<p>Hier meine Hauptschleife:</p>
<pre><code class="language-cpp">while (GetMessage (&amp;message, nullptr, 0, 0))
    {
        if (!IsDialogMessage (hwnd, &amp;message))
        {
            TranslateMessage (&amp;message);
            DispatchMessage (&amp;message);
        }
    }
</code></pre>
<p>Jemand eine Idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670514</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670514</guid><dc:creator><![CDATA[Zestor]]></dc:creator><pubDate>Thu, 26 Feb 2009 09:24:50 GMT</pubDate></item><item><title><![CDATA[Reply to IsDialogMessage und Multiline-Edits on Thu, 26 Feb 2009 14:26:50 GMT]]></title><description><![CDATA[<p>Am besten baue dir ein Accelerator mit TAB key, dann in WM_COMMAND ...</p>
<pre><code class="language-cpp">case WM_COMMAND:
	if (wParam == IDC_ACCELL_TAB)
	{
		if (GetFocus() == hwndEditBox)
		{
			SendMessage(hwndEditBox, EM_REPLACESEL, TRUE, (LPARAM)TEXT(&quot;\t&quot;));
		}
		else
		{
			// forward keystoke to focused window oder IsDialogMessage
		}
	}
</code></pre>
<p>Option 2: Subclassing + WM_GETDLGCODE -&gt; return DLGC_WANTALLKEYS;</p>
<p>Option 3:</p>
<pre><code class="language-cpp">while (GetMessage (&amp;message, nullptr, 0, 0)) 
	{
		if ((message.message is WM_KEYDOWN, WM_KEYUP or WM_CHAR)
		&amp;&amp; (message.wParam == VK_TAB)
		&amp;&amp; (GetFocus() == hwndEditBox))
		{
			TranslateMessage(&amp;message);
			DispatchMessage(&amp;message);
		}
		else if (!IsDialogMessage(hwnd, &amp;message))
		{
			TranslateMessage(&amp;message);
			DispatchMessage(&amp;message);
		}
	}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1670681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670681</guid><dc:creator><![CDATA[sapero]]></dc:creator><pubDate>Thu, 26 Feb 2009 14:26:50 GMT</pubDate></item><item><title><![CDATA[Reply to IsDialogMessage und Multiline-Edits on Thu, 26 Feb 2009 16:03:51 GMT]]></title><description><![CDATA[<p>Möglichkeit 1: Führe IsDialogMessage nicht aus, wenn das Edit Control den Focus hat. (Ich würde es etwas anders machen als Sapero)<br />
Möglichkeit 2: Weitaus besser. Benutze Strg+Tab!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1670756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1670756</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 26 Feb 2009 16:03:51 GMT</pubDate></item><item><title><![CDATA[Reply to IsDialogMessage und Multiline-Edits on Thu, 26 Feb 2009 23:17:38 GMT]]></title><description><![CDATA[<p>Hmn, alle hier geposteten Möglichkeiten setzen voraus, das ich das Handle von allen Multiline-Edits fest in der Hauptschleife verankere. Da es sich dabei um MDIs mit mehrere Multiline-Edits handelt macht die Sache auch nicht gerade einfacher.</p>
<p>STRG+TAB benutze ich schon um bei Reitern durchzusteppen. Dazu habe ich noch nie gesehen, dass STRG+TAB benutzt wird um zwischen Feldern zu steppen?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1671029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1671029</guid><dc:creator><![CDATA[Zestor]]></dc:creator><pubDate>Thu, 26 Feb 2009 23:17:38 GMT</pubDate></item><item><title><![CDATA[Reply to IsDialogMessage und Multiline-Edits on Thu, 26 Feb 2009 23:50:29 GMT]]></title><description><![CDATA[<p>Nein, brauchst du nicht, die Klassenname ist gleich:</p>
<pre><code class="language-cpp">HWND focus = GetFocus();
BOOL isdialog = (focus &amp;&amp; GetClassName(focus, szName, szName_cch) &amp;&amp; !lstrcmpi(szName, TEXT(&quot;edit&quot;)));
if (!isdialog)
{
	isdialog = IsDialogMessage()
}
if (!isdialog)
{
	translate &amp; dispatch
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1671032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1671032</guid><dc:creator><![CDATA[sapero]]></dc:creator><pubDate>Thu, 26 Feb 2009 23:50:29 GMT</pubDate></item><item><title><![CDATA[Reply to IsDialogMessage und Multiline-Edits on Fri, 27 Feb 2009 06:02:23 GMT]]></title><description><![CDATA[<p>Strg+Tab meinte ich um ein TAB einzugeben.<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/20713">@sapero</a>: Die Klasse alleine genügt nicht. Man müsste hier auch den Stil prüfen um zu erkennen, dass es ein MultiLineEdit Ctrl ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1671050</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1671050</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Fri, 27 Feb 2009 06:02:23 GMT</pubDate></item><item><title><![CDATA[Reply to IsDialogMessage und Multiline-Edits on Fri, 27 Feb 2009 13:53:26 GMT]]></title><description><![CDATA[<p>@ Martin Richter<br />
CTRL+TAB zum eingeben eines Tabs ist doch Murks und nur eine zusammengeschusterte Lösung!</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/20713">@sapero</a><br />
Danke! Ich nehme diese Lösung und prüfe noch wie Martin gesagt hat nach dem Stil und habe ruhe <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="🙂"
    /> Dank dir!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1671363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1671363</guid><dc:creator><![CDATA[Zestor]]></dc:creator><pubDate>Fri, 27 Feb 2009 13:53:26 GMT</pubDate></item></channel></rss>