<?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 mit Farbverlauf]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich zeichne einen Farbverlauf mit GradientFill in der OnEraseBkgnd Methode meines Dialogs. Wenn ich jetzt allerdings das Fenster maximiere, wird der Farbverlauf zwar korrekt gezeichnet, allerdings ist immer noch der alte Verlauf in der vorigen Fenstergröße zu sehen. Ich verstehe nicht ganz warum das so ist. Löscht OnEraseBkgnd denn ganzen Hintergrund?</p>
<p>Edit:</p>
<p>Wenn ich in der OnSize Methode ein CDialog/CWnd::Invalidate(); einfüge ist logischerweise alle Ok. Gibt es keine andere Möglichkeit?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/182882/dialog-mit-farbverlauf</link><generator>RSS for Node</generator><lastBuildDate>Sat, 04 Apr 2026 16:13:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/182882.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 30 May 2007 11:03:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dialog mit Farbverlauf on Wed, 30 May 2007 11:06:04 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich zeichne einen Farbverlauf mit GradientFill in der OnEraseBkgnd Methode meines Dialogs. Wenn ich jetzt allerdings das Fenster maximiere, wird der Farbverlauf zwar korrekt gezeichnet, allerdings ist immer noch der alte Verlauf in der vorigen Fenstergröße zu sehen. Ich verstehe nicht ganz warum das so ist. Löscht OnEraseBkgnd denn ganzen Hintergrund?</p>
<p>Edit:</p>
<p>Wenn ich in der OnSize Methode ein CDialog/CWnd::Invalidate(); einfüge ist logischerweise alle Ok. Gibt es keine andere Möglichkeit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1295065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1295065</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Wed, 30 May 2007 11:06:04 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Farbverlauf on Wed, 30 May 2007 14:29:10 GMT]]></title><description><![CDATA[<p>Ob das gesamte Fenster neu gezeichnet wird bei Größenänderung hängt von dem Stil der Klasse ab. Nur wenn CS_VREDRAW und CS_HREDRAW gesetzt sind wird das gesamte Fenster neu gezeichnet, sprich auch der Hintergrund.</p>
<p>Wird CS_VREDRAW und CS_HREDRAW wie bei einem Dialog nicht gesetzt, dann wird nur der neu sichtbar werdende Teil neu gezeichnet bei einer Größenänderung.</p>
<p>Also ein Dialog hat IMHO diese Stile nicht. Bleibt Dir nur OnSize zu überschreiben und dort einfach einen Invalidate auszuführen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1295267</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1295267</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 30 May 2007 14:29:10 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Farbverlauf on Wed, 30 May 2007 15:53:41 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Also ein Dialog hat IMHO diese Stile nicht. Bleibt Dir nur OnSize zu überschreiben und dort einfach einen Invalidate auszuführen.</p>
</blockquote>
<p>Der Dialog flackert dann aber wie verrückt bei einer &quot;manuellen&quot; Größenänderung trotz Pufferung. Gibt es da irgendwie Abhilfe, also *wirklich* flackerfrei zu zeichnen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1295348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1295348</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Wed, 30 May 2007 15:53:41 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Farbverlauf on Wed, 30 May 2007 16:53:50 GMT]]></title><description><![CDATA[<p>Das ist eben der Nachteil mit dem Neuzeichnen. Aber wie soll es sonst gehen, da Dein ganze Hintergrund eben neu gezeichnet werden muss!<br />
Evtl. WS_CLIPCHILDREN setzen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1295408</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1295408</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 30 May 2007 16:53:50 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Farbverlauf on Wed, 30 May 2007 18:27:45 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Das ist eben der Nachteil mit dem Neuzeichnen. Aber wie soll es sonst gehen, da Dein ganze Hintergrund eben neu gezeichnet werden muss!<br />
Evtl. WS_CLIPCHILDREN setzen!</p>
</blockquote>
<p>Danke, das hat schon mal etwas gebracht. Aber wie entwickelt man denn &quot;echte&quot; GUIs. Bei Microsofts Innovationen flackert auch nichts und hexen können die auch nicht. <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/1295465</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1295465</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Wed, 30 May 2007 18:27:45 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Farbverlauf on Wed, 30 May 2007 20:04:55 GMT]]></title><description><![CDATA[<p>MS macht aber auch nicht so einen Hintergrund schnickschnack wie Du <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>WS_CLIPCHILDREN und DeferWindowPos macht beim Resize viel...<br />
Ich bekomme damit ein 100% flackerfreien Resize hin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1295543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1295543</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 30 May 2007 20:04:55 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Farbverlauf on Thu, 31 May 2007 08:05:12 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>MS macht aber auch nicht so einen Hintergrund schnickschnack wie Du <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>WS_CLIPCHILDREN und DeferWindowPos macht beim Resize viel...<br />
Ich bekomme damit ein 100% flackerfreien Resize hin.</p>
</blockquote>
<p>Klasse das hat das Flackern schon echt minimiert. Herzlichen Dank.</p>
<p>Btw: Das UI von 2007 Microsoft Office System hat auch Farbverläufe. <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/1295734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1295734</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Thu, 31 May 2007 08:05:12 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog mit Farbverlauf on Thu, 31 May 2007 08:56:37 GMT]]></title><description><![CDATA[<p>1. Ist das in 99% der Fälle kein Dialog.<br />
2. Sind darin keine Child-Windows mit eigenen DCs.<br />
3. Die Dialoge erlauben keinen Resize und haben keinen Gradient Fill! Wenn ist dieser nur in der Caption, und ich vermute mal schwer das auch nur die neu gezeichnet wird.<br />
5. Mach Office da was ganz eigenes. Gehe mal mit dem Spy++ drauf. Du wirst sehen, dass die Diaogobjekte nicht als eigene Fenster dort auftauchen.<br />
6. Verwendet MS in seinen Produkten immer die DfeerWindowsPos Funktionen und WS_CLIPCHILDREN, wen ds nicht möglich ist, erzeugt MS in WM_ERASEBKGND eine Clippingregion, die bestimmte Teile auslässt!</p>
<p>HTH</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1295755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1295755</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Thu, 31 May 2007 08:56:37 GMT</pubDate></item></channel></rss>