<?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[WM_ERASEBKGND in der Statusbar]]></title><description><![CDATA[<p>Hi,</p>
<p>Frage: Wie kann ich bei WM_ERASEBKGND bestimmte Bereiche in der Statusbar beim Neuzeichnen des Hintergrunds ausschließen?</p>
<p>Auslöser meiner Experimente ist der folgende Beitrag: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-212678.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-212678.html</a> wo es um das Flackern in der Statusbar geht.</p>
<p>Folgendes habe ich probiert:<br />
-Statusbar subclassing<br />
-in dieser Prozedur fange ich WM_ERASEBKGND ab und returniere mit 1.</p>
<p>Ergebnis: Kein Flackern mehr in der Statusbar beim Größenändern des Fensters, korrekte Darstellung der einzelnen Statusbar-Felder, aber dafür auch eine absolut unbefriedigende Darstellung des Statusbar-Rahmens <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="😞"
    /></p>
<p>Deshalb möchte ich erreichen, daß bei WM_ERASEBKGND weiterhin der ganze Statusbar-Rahmen gezeichnet wird, aber die einzelnen Felder selbst vom Neuzeichnen ausgeschlossen werden müssen.</p>
<p>Brauche ich dafür Clipping-Funktionen?<br />
Hat jemand einen Tipp dazu? (Link genügt)</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/215099/wm_erasebkgnd-in-der-statusbar</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 20:59:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/215099.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 06 Jun 2008 12:54:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to WM_ERASEBKGND in der Statusbar on Fri, 06 Jun 2008 12:54:32 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Frage: Wie kann ich bei WM_ERASEBKGND bestimmte Bereiche in der Statusbar beim Neuzeichnen des Hintergrunds ausschließen?</p>
<p>Auslöser meiner Experimente ist der folgende Beitrag: <a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-212678.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-212678.html</a> wo es um das Flackern in der Statusbar geht.</p>
<p>Folgendes habe ich probiert:<br />
-Statusbar subclassing<br />
-in dieser Prozedur fange ich WM_ERASEBKGND ab und returniere mit 1.</p>
<p>Ergebnis: Kein Flackern mehr in der Statusbar beim Größenändern des Fensters, korrekte Darstellung der einzelnen Statusbar-Felder, aber dafür auch eine absolut unbefriedigende Darstellung des Statusbar-Rahmens <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="😞"
    /></p>
<p>Deshalb möchte ich erreichen, daß bei WM_ERASEBKGND weiterhin der ganze Statusbar-Rahmen gezeichnet wird, aber die einzelnen Felder selbst vom Neuzeichnen ausgeschlossen werden müssen.</p>
<p>Brauche ich dafür Clipping-Funktionen?<br />
Hat jemand einen Tipp dazu? (Link genügt)</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1524057</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1524057</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Fri, 06 Jun 2008 12:54:32 GMT</pubDate></item><item><title><![CDATA[Reply to WM_ERASEBKGND in der Statusbar on Sun, 08 Jun 2008 19:55:28 GMT]]></title><description><![CDATA[<p>Hey Jungs,</p>
<p>mit <em>ExcludeClipRect()</em> scheint das zu funktionieren.</p>
<p>Allerdings habe ich da eine grundsätzliche Frage: Muß ich diese Exclude-Funktion explizit wieder rückgängig machen?<br />
Oder macht GDI das automatisch? Besteht da Gefahr von Speicher-Leaks?</p>
<p>Die Beobachtungen meiner Experimente an der Statusbar lassen zu der Annahme führen, daß GDI das Clippen automatisch beendet.<br />
Was mir aber noch unklar ist: Wann genau wird das per ExcludeClipRect() definierte Exclude-Clippen eigentlich beendet?</p>
<p>In der MSDN steht leider nichts dergleichen zu diesen Fragen drin *seufz*</p>
<p>Vielleicht erbarmt sich jemand von Euch und kann mir da irgendwie weiterhelfen?<br />
Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1525376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1525376</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Sun, 08 Jun 2008 19:55:28 GMT</pubDate></item><item><title><![CDATA[Reply to WM_ERASEBKGND in der Statusbar on Mon, 09 Jun 2008 07:25:58 GMT]]></title><description><![CDATA[<p>Du bekommst einen DC, wenn dieser von die manipuliert wird (ExcludeClipRegion), dann hält diese Manipulation solange vor, wie dieser DC verwendet wird. Also spätestens wenn der DC stirbt, stirbt auch das Clipping.</p>
<p>Du solltest tunlichst alle Änderungen nur solange vorhalten wir diese benötigt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1525494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1525494</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 09 Jun 2008 07:25:58 GMT</pubDate></item><item><title><![CDATA[Reply to WM_ERASEBKGND in der Statusbar on Mon, 09 Jun 2008 07:51:49 GMT]]></title><description><![CDATA[<p>Alles klar,<br />
Danke für die Info! Das erleichtert mich schon ungemein.</p>
<p>Das erklärt auch, warum ExcludeClipRect() bei WM_ERASEBKGND greift, aber (kurze Zeit später) bei WM_DRAWITEM nicht mehr wirkt (das ist auch gut so, sonst hätte ich nichts Sichtbares zeichnen können).</p>
<p>Somit lasse ich die Schlußfolgerung zu, daß der DC <strong>irgendwann</strong> zwischen WM_ERASEBKGND und WM_DRAWITEM &quot;stirbt&quot;.</p>
<p>Damit bin ich meinem Ideal &quot;flickerfreie Statusbar&quot; ein Stück nähergekommen.</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1525505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1525505</guid><dc:creator><![CDATA[Mmacher]]></dc:creator><pubDate>Mon, 09 Jun 2008 07:51:49 GMT</pubDate></item><item><title><![CDATA[Reply to WM_ERASEBKGND in der Statusbar on Mon, 09 Jun 2008 08:59:43 GMT]]></title><description><![CDATA[<p>Glaube ich an sich nicht.<br />
Oft genug haben gesetzte Clip Regions später unangenehme Nebeneffekte. Evtl. wirdnur eine neue Clipregion gesetzt. Ich würde die Clip-Region setzen, die Basis Fensterklasse aufrufen und danach die Clip-Regon zurücksetzen.</p>
<p>Oft genug ist hier das Verhalten zwischen themed und unthemed auch noch extrem!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1525553</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1525553</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Mon, 09 Jun 2008 08:59:43 GMT</pubDate></item></channel></rss>