<?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[Frage zur Programmschleife]]></title><description><![CDATA[<pre><code>while(msg.message!=WM_QUIT)
		{
			if(PeekMessage(&amp;msg,NULL,0U,0U,PM_REMOVE))
			{
				TranslateMessage(&amp;msg);
				DispatchMessage(&amp;msg);

			}
			else
			{
				vRender();
			}
		}
</code></pre>
<p>Hallo, ich habe Probleme , diese Hauptschleife zu verstehen.<br />
Normalerweise müsste doch , wenn eine Message vorliegt vRender übersprungen werden.<br />
Wenn keine Message vorliegt wird gerendert.</p>
<p>Wieso wird dann trotzdem gerendert, auch wenn ich z.B die Maustaste drücke, und somit kontinuierlich eine Nachricht geschickt wird ?<br />
Oder habe ich den Sinn von PeekMessage falsch verstanden ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/111188/frage-zur-programmschleife</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 00:31:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/111188.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 29 May 2005 13:16:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zur Programmschleife on Sun, 29 May 2005 13:16:03 GMT]]></title><description><![CDATA[<pre><code>while(msg.message!=WM_QUIT)
		{
			if(PeekMessage(&amp;msg,NULL,0U,0U,PM_REMOVE))
			{
				TranslateMessage(&amp;msg);
				DispatchMessage(&amp;msg);

			}
			else
			{
				vRender();
			}
		}
</code></pre>
<p>Hallo, ich habe Probleme , diese Hauptschleife zu verstehen.<br />
Normalerweise müsste doch , wenn eine Message vorliegt vRender übersprungen werden.<br />
Wenn keine Message vorliegt wird gerendert.</p>
<p>Wieso wird dann trotzdem gerendert, auch wenn ich z.B die Maustaste drücke, und somit kontinuierlich eine Nachricht geschickt wird ?<br />
Oder habe ich den Sinn von PeekMessage falsch verstanden ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/798282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/798282</guid><dc:creator><![CDATA[imson]]></dc:creator><pubDate>Sun, 29 May 2005 13:16:03 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Programmschleife on Sun, 29 May 2005 13:24:50 GMT]]></title><description><![CDATA[<p>imson schrieb:</p>
<blockquote>
<p>wenn ich z.B die Maustaste drücke, und somit kontinuierlich eine Nachricht geschickt wird ?</p>
</blockquote>
<p>Wieso sollte da kontinuierlich eine Nachricht geschickt werden?! Du bekommst eben einmal WM_LBUTTONDOWN und später WM_LBUTTONUP. Gut du bekommst zwischendrin auch WM_MOUSEMOVE (unabhängig, ob du eine Maustaste drückst), aber diese ganzen Nachrichten sind ja ruckzuck abgearbeitet, da ja eigentlich nichts groß gemacht werden muss <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/798288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/798288</guid><dc:creator><![CDATA[flenders]]></dc:creator><pubDate>Sun, 29 May 2005 13:24:50 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Programmschleife on Sun, 29 May 2005 16:13:54 GMT]]></title><description><![CDATA[<p>Hallo, ich dachte immer, da wird in jedem Schleifendurchlauf eine Nachricht gesendet.</p>
<p>Peekmessage prüft doch mit den Parametern 0 und 0, ob irgendwelche Nachrichten vorhanden sind oder ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/798426</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/798426</guid><dc:creator><![CDATA[imson]]></dc:creator><pubDate>Sun, 29 May 2005 16:13:54 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zur Programmschleife on Sun, 29 May 2005 16:20:54 GMT]]></title><description><![CDATA[<blockquote>
<p>Hallo, ich dachte immer, da wird in jedem Schleifendurchlauf eine Nachricht gesendet.</p>
</blockquote>
<p>Nein, PeekMessage() sieht nach ob in der Messagequeue eine Nachricht vorhanden ist, wenn ja bekommst du die, ansonsten liefert es false zurück und du wanderst in den else-Teil. Eine Nachricht wirst du ganz im Gegenteil eher selten bekommen - vor allem wenn DirectX/OpenGL im Spiel ist.</p>
<p>MfG SideWinder</p>
]]></description><link>https://www.c-plusplus.net/forum/post/798429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/798429</guid><dc:creator><![CDATA[SideWinder]]></dc:creator><pubDate>Sun, 29 May 2005 16:20:54 GMT</pubDate></item></channel></rss>