<?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[Dialog aus Resourcen in eigene Messageloop einbinden]]></title><description><![CDATA[<p>Einen Dialog kann ich ja so anzeigen:</p>
<pre><code class="language-cpp">DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOGMAIN),NULL,(DLGPROC)DLG_DIAOLOG);
</code></pre>
<p>Diese Funktion hat jedoch eine eigene Messageloop, die ich nicht kontrollieren kann. Ich fände aber die Möglichkeit, innerhalb der Messageloop etwas einzubauen, eine Funktion die irgendetwas tut:</p>
<pre><code class="language-cpp">PeekMessage(&amp;message, NULL,0U,0U,PM_REMOVE);
while(message.message!=WM_QUIT)
{

	if(bArbeiten)
		bGotMessage=( PeekMessage(&amp;message, NULL,0U,0U,PM_REMOVE)!=0);
	else
		bGotMessage=( GetMessage(&amp;message, NULL, 0U, 0U)!=0);

	if(bGotMessage)
	{

		TranslateMessage(&amp;message);
		DispatchMessage(&amp;message);
	}
	else 
	{				
		Arbeite();
	}			   		

}
</code></pre>
<p>Hier wäre die Funktion Arbeite gemeint. Ich habe einfach keine Lust, ein Fenster mit Klasse und so weiter zu registrieren, und dann bei WM_CREATE jede Schaltfläche über CreateWindowEx(...) erstellen zu müssen. Deswegen würde ich diesen Dialog gerne über die Resourcen laden und trotzdem mit meiner eigenen Messageloop kontrollieren können.<br />
Geht das? Wenn ja: Wie?<br />
MFG;</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/145990/dialog-aus-resourcen-in-eigene-messageloop-einbinden</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Jul 2026 14:10:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/145990.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 03 May 2006 09:13:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dialog aus Resourcen in eigene Messageloop einbinden on Wed, 03 May 2006 09:13:19 GMT]]></title><description><![CDATA[<p>Einen Dialog kann ich ja so anzeigen:</p>
<pre><code class="language-cpp">DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOGMAIN),NULL,(DLGPROC)DLG_DIAOLOG);
</code></pre>
<p>Diese Funktion hat jedoch eine eigene Messageloop, die ich nicht kontrollieren kann. Ich fände aber die Möglichkeit, innerhalb der Messageloop etwas einzubauen, eine Funktion die irgendetwas tut:</p>
<pre><code class="language-cpp">PeekMessage(&amp;message, NULL,0U,0U,PM_REMOVE);
while(message.message!=WM_QUIT)
{

	if(bArbeiten)
		bGotMessage=( PeekMessage(&amp;message, NULL,0U,0U,PM_REMOVE)!=0);
	else
		bGotMessage=( GetMessage(&amp;message, NULL, 0U, 0U)!=0);

	if(bGotMessage)
	{

		TranslateMessage(&amp;message);
		DispatchMessage(&amp;message);
	}
	else 
	{				
		Arbeite();
	}			   		

}
</code></pre>
<p>Hier wäre die Funktion Arbeite gemeint. Ich habe einfach keine Lust, ein Fenster mit Klasse und so weiter zu registrieren, und dann bei WM_CREATE jede Schaltfläche über CreateWindowEx(...) erstellen zu müssen. Deswegen würde ich diesen Dialog gerne über die Resourcen laden und trotzdem mit meiner eigenen Messageloop kontrollieren können.<br />
Geht das? Wenn ja: Wie?<br />
MFG;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050119</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050119</guid><dc:creator><![CDATA[Dialog]]></dc:creator><pubDate>Wed, 03 May 2006 09:13:19 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog aus Resourcen in eigene Messageloop einbinden on Wed, 03 May 2006 09:27:29 GMT]]></title><description><![CDATA[<p>Erzeuge einen nicht modalen Dialog und bau Deine iegne Nachrichtenschleife.</p>
<p>Der Weg sieht etwa so aus.<br />
1. Parent Dialog disablen mit EnableWindow(...,FALSE);<br />
2. Mit CreateDialog neuen Dialog erzeugen.<br />
3. Eigene MessageLoop starten und IsDialogMessage nicht vergessen.<br />
3. Bei WM_COMMAND IDOK oder IDCANCEL Flag setzen um Message Loop zu beenden. Dialog verstecken.<br />
4. Messageloop beenden.<br />
5. Parent Dialog enablen<br />
6. Dialog zerstören.</p>
<p>Ansonten wenn es nicht zu auffregend sein soll, kannst Du auch einfach WM_ENTERIDLE reagieren.<br />
Timer sind natürlich auch eine Möglichkeit. Einfach eine sehr kleine Timerzeit wählen und Du hast fast den selben Effekt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050134</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050134</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 03 May 2006 09:27:29 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog aus Resourcen in eigene Messageloop einbinden on Wed, 03 May 2006 09:44:29 GMT]]></title><description><![CDATA[<p>eventuell auch ein WH_MSGFILTER Hook?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050139</guid><dc:creator><![CDATA[keine ahnung]]></dc:creator><pubDate>Wed, 03 May 2006 09:44:29 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog aus Resourcen in eigene Messageloop einbinden on Wed, 03 May 2006 10:09:01 GMT]]></title><description><![CDATA[<p>keine ahnung schrieb:</p>
<blockquote>
<p>eventuell auch ein WH_MSGFILTER Hook?</p>
</blockquote>
<p>Ächtz. Warum in Gottesnamen das System mit absolut überflüssigen Hooks zu ballern? Aber irgendwie muss man ja das System in die Knie zwingen und unnötige Fehlerquellen schaffen. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1050147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050147</guid><dc:creator><![CDATA[Gast Luckie]]></dc:creator><pubDate>Wed, 03 May 2006 10:09:01 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog aus Resourcen in eigene Messageloop einbinden on Wed, 03 May 2006 10:23:37 GMT]]></title><description><![CDATA[<p>Dieser Hook wird schon seine Berechtigung haben. Ob es für den Threaderseller das richtige ist weiß ich nicht. Es soll ja auch nicht ein systemweiter Hook sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050156</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050156</guid><dc:creator><![CDATA[keine ahnung]]></dc:creator><pubDate>Wed, 03 May 2006 10:23:37 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog aus Resourcen in eigene Messageloop einbinden on Wed, 03 May 2006 10:28:35 GMT]]></title><description><![CDATA[<p>Aber ein Msgfilter Hook greift immer bei bestimmten Nachrichten und eben nicht wenn nichts zu tun ist und darum geht es hier.<br />
Würde man es über einen Hook lösen dann würde man das System gerade dann belasten wenn Nachrichten vorhanden sind oder eben bestimmte Nachrichten vorhanden sind.</p>
<p>Nein einen Hook würde ich hier in keinem Fall empfehlen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1050163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1050163</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 03 May 2006 10:28:35 GMT</pubDate></item></channel></rss>