<?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[MessageLoop falsch?]]></title><description><![CDATA[<p>Hi@all also ich hab folgendes problem. Mein Programm erstellt dynamisch viele moduslose Dialoge deren HWNDs speicher ich in einem vector ab. Meine Message Loop sieht so aus:</p>
<pre><code class="language-cpp">while(GetMessage(&amp;msg, NULL, 0, 0))
	{
		for(unsigned int i=0;i&lt;g_ModelessDialogs.size();i++)
			if(!IsDialogMessage(g_ModelessDialogs[i], &amp;msg))
			{
				TranslateMessage(&amp;msg);
				DispatchMessage(&amp;msg);
				break;
			}
	}
</code></pre>
<p>Wenn jetzt 2 oder mehrere dialoge existerien kommen die Window Messages 4fach an also wenn ich auf eine editbox geh und A drück stehen dort vier As.</p>
<p>Jetzt wollte ich euch fragen ob ihr vielleicht einen fehler erkennen könnt.</p>
<p>mfg tobZel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/225892/messageloop-falsch</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Apr 2026 16:56:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/225892.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 26 Oct 2008 15:28:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to MessageLoop falsch? on Sun, 26 Oct 2008 15:28:21 GMT]]></title><description><![CDATA[<p>Hi@all also ich hab folgendes problem. Mein Programm erstellt dynamisch viele moduslose Dialoge deren HWNDs speicher ich in einem vector ab. Meine Message Loop sieht so aus:</p>
<pre><code class="language-cpp">while(GetMessage(&amp;msg, NULL, 0, 0))
	{
		for(unsigned int i=0;i&lt;g_ModelessDialogs.size();i++)
			if(!IsDialogMessage(g_ModelessDialogs[i], &amp;msg))
			{
				TranslateMessage(&amp;msg);
				DispatchMessage(&amp;msg);
				break;
			}
	}
</code></pre>
<p>Wenn jetzt 2 oder mehrere dialoge existerien kommen die Window Messages 4fach an also wenn ich auf eine editbox geh und A drück stehen dort vier As.</p>
<p>Jetzt wollte ich euch fragen ob ihr vielleicht einen fehler erkennen könnt.</p>
<p>mfg tobZel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1605127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1605127</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Sun, 26 Oct 2008 15:28:21 GMT</pubDate></item><item><title><![CDATA[Reply to MessageLoop falsch? on Sun, 26 Oct 2008 16:06:27 GMT]]></title><description><![CDATA[<p>so tuts:</p>
<pre><code class="language-cpp">while(GetMessage(&amp;msg, NULL, 0, 0))
	{
		for(unsigned int i=0;i&lt;g_ModelessDialogs.size();i++)
			if(IsDialogMessage(g_ModelessDialogs[i], &amp;msg))
			{
				IsDialog = 1;
				break;
			}
		if(!IsDialog)
		{
			TranslateMessage(&amp;msg);
			DispatchMessage(&amp;msg);
			IsDialog = 0;
		}
	}
</code></pre>
<p>würde mich freuen wenn mir jemand sagt warum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":O"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1605142</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1605142</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Sun, 26 Oct 2008 16:06:27 GMT</pubDate></item><item><title><![CDATA[Reply to MessageLoop falsch? on Sun, 26 Oct 2008 16:07:48 GMT]]></title><description><![CDATA[<p>Ist das die MessageLoop des Haupfesnters?<br />
Bekommt nicht normalerweise jeder Dialog seine eigene MessageCallback?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1605143</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1605143</guid><dc:creator><![CDATA[vlad_tepesch]]></dc:creator><pubDate>Sun, 26 Oct 2008 16:07:48 GMT</pubDate></item><item><title><![CDATA[Reply to MessageLoop falsch? on Sun, 26 Oct 2008 16:30:20 GMT]]></title><description><![CDATA[<p>vlad_tepesch schrieb:</p>
<blockquote>
<p>Ist das die MessageLoop des Haupfesnters?<br />
Bekommt nicht normalerweise jeder Dialog seine eigene MessageCallback?</p>
</blockquote>
<p>Jedes Programm hat nur eine MessageLoop. Du meinst wahrscheinlich Window Prozeduren. Aber die haben damit nix am hut</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1605152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1605152</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Sun, 26 Oct 2008 16:30:20 GMT</pubDate></item><item><title><![CDATA[Reply to MessageLoop falsch? on Sun, 26 Oct 2008 17:35:23 GMT]]></title><description><![CDATA[<p>tobZel schrieb:</p>
<blockquote>
<p>würde mich freuen wenn mir jemand sagt warum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":O"
      alt="😮"
    /></p>
</blockquote>
<p>Schau Dir mal Deinen ersten Code an. Du fragst einen Array von HWNDs ab ob die mit IsDialogMessage was anfangen wollen.<br />
Sagt jedes HWND nein führst Du jedesmal TranslateMessage/DisptachMessage aus. Also wenn Dein Array 4 Elemente hat, dann eben viermal.</p>
<p>Du hast Deinen Code jetzt reduziert und nutzt ein Flag. Erst wenn alle nein sagen nutzt Du TranslateMessage/DisptachMessage. So ist es richtig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1605178</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1605178</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Sun, 26 Oct 2008 17:35:23 GMT</pubDate></item><item><title><![CDATA[Reply to MessageLoop falsch? on Sun, 26 Oct 2008 20:55:45 GMT]]></title><description><![CDATA[<p>hab mir halt gedacht wegen dem break hört er dann auf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":O"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1605261</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1605261</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Sun, 26 Oct 2008 20:55:45 GMT</pubDate></item><item><title><![CDATA[Reply to MessageLoop falsch? on Mon, 27 Oct 2008 07:34:36 GMT]]></title><description><![CDATA[<p>tobZel schrieb:</p>
<blockquote>
<p>hab mir halt gedacht wegen dem break hört er dann auf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":O"
      alt="😮"
    /></p>
</blockquote>
<p>Stimmt eigentlich. Habe ich übersehen. Viermal hätte nicht passieren sollen. Bist Du sicher, dass es dieser Code war, der in allen Controls ein A ausgelifert hat?</p>
<p>Aber Dein Code wäre dennoch falsch, denn er hört ja sofort auf anderen Dialogen die Nachricht anzubieten, wenn der erste die Nachricht nicht will.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1605340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1605340</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 27 Oct 2008 07:34:36 GMT</pubDate></item><item><title><![CDATA[Reply to MessageLoop falsch? on Mon, 27 Oct 2008 08:32:50 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Stimmt eigentlich. Habe ich übersehen. Viermal hätte nicht passieren sollen. Bist Du sicher, dass es dieser Code war, der in allen Controls ein A ausgelifert hat?</p>
</blockquote>
<p>Ja war er. Aber das witzige ist ja wenn ich 10 fenster offen hab kommen pro druck auf A 4 As wenn ich 2 offen hab auch und bei einem fenster funktionierts wunderbar, also nur ein A pro druck auf die taste.</p>
<p>Martin Richter schrieb:</p>
<blockquote>
<p>Aber Dein Code wäre dennoch falsch, denn er hört ja sofort auf anderen Dialogen die Nachricht anzubieten, wenn der erste die Nachricht nicht will.</p>
</blockquote>
<p>Dass seh ich ein <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="🙂"
    /> Aber dann dürfte ein oder mehrere Fenster doch eher gar keine Nachricht bekommen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1605370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1605370</guid><dc:creator><![CDATA[tobZel]]></dc:creator><pubDate>Mon, 27 Oct 2008 08:32:50 GMT</pubDate></item><item><title><![CDATA[Reply to MessageLoop falsch? on Mon, 27 Oct 2008 08:41:33 GMT]]></title><description><![CDATA[<p>Doch! Ausgeliefert wurde ja immer, aber evtl. hat in einem Dialog die TAB-Taste nicht gearbeitet, denn IsDialogMessage wurde dann ja immer nur für das erste Fenster ausgeführt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1605377</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1605377</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 27 Oct 2008 08:41:33 GMT</pubDate></item></channel></rss>