<?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[Generierung von WM_PAINT beeinflussen]]></title><description><![CDATA[<p>Gibt es eine Möglichkeit zu beeinflussen für welches Fenster als erstes ein WM_PAINT synthetisiert wird wenn mehrere Fenster eine nicht leere Update-Region haben?<br />
Grund warum ich frage ist, ich habe eine Anwendung wo mehrere Controls in einem Fenster &quot;andauernd&quot; neu gezeichnet werden sollen. Details auch hier nachzulesen: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-215324.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-215324.html</a></p>
<p>Ich möchte nun dass immer das Fenster als erstes ein WM_PAINT bekommt welches schon am längsten nichtmehr dran war, bzw. schon am längsten darauf wartet neu gezeichnet zu werden. Windows nimmt aber anscheinend immer das erste Fenster welches es findet, und das führt dazu dass immer nur ein oder zwei Controls neu gezeichnet werden, die anderen kommen einfach nicht dran.</p>
<p>Im Prinzip habe ich bereits eine Lösung, allerdings eine sehr hässliche - steht auch im anderen Thread nachzulesen.</p>
<p>p.S.: falls es sich dabei um ein &quot;Artefakt&quot; des .NET Frameworks handeln sollte bitte ich um Aufklärung <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="🙂"
    /> Ich gehe erstmal davon aus dass da das .NET Framework sich auch nur darauf verlässt was Windows macht, und das in Windows allgemein für WM_PAINT so gelöst ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/215433/generierung-von-wm_paint-beeinflussen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 19:43:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/215433.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Jun 2008 23:09:30 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Generierung von WM_PAINT beeinflussen on Tue, 10 Jun 2008 23:09:30 GMT]]></title><description><![CDATA[<p>Gibt es eine Möglichkeit zu beeinflussen für welches Fenster als erstes ein WM_PAINT synthetisiert wird wenn mehrere Fenster eine nicht leere Update-Region haben?<br />
Grund warum ich frage ist, ich habe eine Anwendung wo mehrere Controls in einem Fenster &quot;andauernd&quot; neu gezeichnet werden sollen. Details auch hier nachzulesen: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-215324.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-215324.html</a></p>
<p>Ich möchte nun dass immer das Fenster als erstes ein WM_PAINT bekommt welches schon am längsten nichtmehr dran war, bzw. schon am längsten darauf wartet neu gezeichnet zu werden. Windows nimmt aber anscheinend immer das erste Fenster welches es findet, und das führt dazu dass immer nur ein oder zwei Controls neu gezeichnet werden, die anderen kommen einfach nicht dran.</p>
<p>Im Prinzip habe ich bereits eine Lösung, allerdings eine sehr hässliche - steht auch im anderen Thread nachzulesen.</p>
<p>p.S.: falls es sich dabei um ein &quot;Artefakt&quot; des .NET Frameworks handeln sollte bitte ich um Aufklärung <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="🙂"
    /> Ich gehe erstmal davon aus dass da das .NET Framework sich auch nur darauf verlässt was Windows macht, und das in Windows allgemein für WM_PAINT so gelöst ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526712</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526712</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 10 Jun 2008 23:09:30 GMT</pubDate></item><item><title><![CDATA[Reply to Generierung von WM_PAINT beeinflussen on Wed, 11 Jun 2008 06:19:33 GMT]]></title><description><![CDATA[<p>1. Wie kann es sein, dass ein Invalidate bereits wieder fälle, wenn ein Fenster gerade erst gezeichnet wurde.<br />
2. In diesem Fall wurde ein forcieren mit RedrawWindow(...RDW_ALLCHILDREN...) helfen. Damit müsstest Du zumindest ein komplettes neuzeichnen erreichen.<br />
3. Du arbeitest hoffentlich mit WS_CLIPCHILDREN und WS_CLIPSIBBLINGS!<br />
4. Wird IMHO nicht das erste Fenster genommen, sondern das äußerste einer Hierachie (Parent zuerst)! Dann innerhalb der Children in der Z-Order, was auch genau der Doku entspricht, andernfalls wäre das Neuzeichnen nicht deterministisch.</p>
<p>Was spricht also dagegen im besagten Parent z.B. RedrawWindow zu verwenden oder einfach alle Children mit einer Schleife ein UpdateWindow zu verpassen, wenn WM_PAINT im Parent ankommt.<br />
Dann hast Du immer konstantes Verhalten ohne Tricks.<br />
Lahm ist es dann immer noch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526755</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 11 Jun 2008 06:19:33 GMT</pubDate></item><item><title><![CDATA[Reply to Generierung von WM_PAINT beeinflussen on Wed, 11 Jun 2008 09:27:31 GMT]]></title><description><![CDATA[<p>ad 1: denk an Videos.<br />
ad 2: siehe unten.<br />
ad 3: keine Ahnung, .NET Framework Fenster -&gt; muss ich nachgucken was da gesetzt ist.<br />
ad 4: Ups, OK, Z-Order wird wohl stimmen. Ich hab' einfach nur beobachtet dass es halt immer ein bestimmtes Fenster ist <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="🙂"
    /></p>
<blockquote>
<p>(...)<br />
Dann hast Du immer konstantes Verhalten ohne Tricks.<br />
Lahm ist es dann immer noch.</p>
</blockquote>
<p>Jo bloss &quot;steht&quot; dann mein Programm weil es keine Input Messages mehr verarbeitet (Application Message &gt; Input Message). Zumindest ist das das von mir beobachtete Verhalten bei UpdateWindow. RedrawWindow kann ich noch ausprobieren. Die Videos laufen natürlich noch, aber ich kann nichtmal das Fenster verschieben, geschweige denn irgendwas anderes damit machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526859</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 11 Jun 2008 09:27:31 GMT</pubDate></item><item><title><![CDATA[Reply to Generierung von WM_PAINT beeinflussen on Wed, 11 Jun 2008 10:56:56 GMT]]></title><description><![CDATA[<p>Du darfst solch eine Technik also nicht verwenden. UpdateWindow frisst demnach alle Ressourcen und die Nachrichtenschleife kommt nicht nach bzw. gar nicht mehr dran.<br />
Du musst also eine der Streaming Technologien verwenden mit denen bewegte Bilder angezeigt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526921</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 11 Jun 2008 10:56:56 GMT</pubDate></item><item><title><![CDATA[Reply to Generierung von WM_PAINT beeinflussen on Wed, 11 Jun 2008 12:07:48 GMT]]></title><description><![CDATA[<blockquote>
<p>eine der Streaming Technologien</p>
</blockquote>
<p>Nenne bitte zwei <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="🙂"
    /></p>
<p>BTW: DirectShow werde ich erstmal nicht verwenden. Das hat diverse Gründe. U.a. dass ich schonmal garkeinen Source-Filter habe, und auch keinen schreiben möchte. Und ich nicht 32 DirectShow Graphen in der Applikation haben möchte.</p>
<p>Und wieso sollte ich so eine Technik nicht verwenden dürfen? Bin ich jetzt der erste und einzige der mit WinAPI bewegte Bilder aufn Schirm zeichnen möchte? Und spielt es eine Rolle wo die Bilder herkommen? Würdest du jmd. der ein Grafikdemo schreibt auch sagen er soll &quot;eine der Streaming Technologien&quot; verwenden damit seine Bilder auf dem Schirm ankommen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1526974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1526974</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 11 Jun 2008 12:07:48 GMT</pubDate></item><item><title><![CDATA[Reply to Generierung von WM_PAINT beeinflussen on Wed, 11 Jun 2008 13:27:27 GMT]]></title><description><![CDATA[<p>Bau Dir eine temporäre AVI <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>
<p>Wenn Du keine verwendest ist eben Dein Verfahren die Bilder anzuzeigen zu lahm...<br />
Beschleunige das durch Caching oder wer weiß was!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527048</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 11 Jun 2008 13:27:27 GMT</pubDate></item><item><title><![CDATA[Reply to Generierung von WM_PAINT beeinflussen on Thu, 12 Jun 2008 08:36:29 GMT]]></title><description><![CDATA[<p>Mit DrawDib kann man noch recht fix zeichnen (wenn man kein DX/DS/OpenGL nutzen will):<br />
<a href="http://msdn.microsoft.com/en-us/library/ms708083(VS.85).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/ms708083(VS.85).aspx</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527469</guid><dc:creator><![CDATA[geeky]]></dc:creator><pubDate>Thu, 12 Jun 2008 08:36:29 GMT</pubDate></item><item><title><![CDATA[Reply to Generierung von WM_PAINT beeinflussen on Thu, 12 Jun 2008 09:12:11 GMT]]></title><description><![CDATA[<p>DrawDib ist das was ich im Moment verwende, leider auch nicht gerade ein Ferrari. Und gleich schnell/langsam (+/- ein paar <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f635.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--dizzy_face"
      title="%)"
      alt="😵"
    /> wie StretchDIBits.<br />
Trotzdem danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1527508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1527508</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Thu, 12 Jun 2008 09:12:11 GMT</pubDate></item></channel></rss>