<?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[ToolBar Control - DC zwischenspeichern]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich bin dabei mir eine komplett eigene ToolBar zu schreiben. Meine Klasse ToolBar ist lediglich von der MFC Klasse CWnd abgeleitet.</p>
<p>Nun gibt es allerdings beim Zeichnen ein kleines Problem. Wenn die ToolBar einen Farbverlauf als Hintergrund hat, und man mit der Maus über einen ToolBar-Button fährt und dann die Maus wieder entfernt, ist der Hintergrund &quot;weg&quot; da ja durch das MouseMove Event der Button anders gezeichnet wurde. Nun habe ich mir überlegt quasi den DC des Buttons VOR dem MouseMove Event zu speichern, um es beim MouseLeave Event wieder zurück kopieren zu können.</p>
<p>Ich habe allerdings keine Ahnung wie ich das anstellen soll. Jeder Button hat seine eigene Button Struktur. Dort gibt es eine Membervariable CMemDC. Hier speichere ich mit</p>
<pre><code class="language-cpp">pButton-&gt;SaveDC(GetDC(), &amp;pButton-&gt;m_Rect);
</code></pre>
<p>den DC. Wie kann ich den DC nun wieder &quot;zurückkopieren&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/180333/toolbar-control-dc-zwischenspeichern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 06:35:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/180333.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 01 May 2007 13:39:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ToolBar Control - DC zwischenspeichern on Tue, 01 May 2007 13:39:36 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich bin dabei mir eine komplett eigene ToolBar zu schreiben. Meine Klasse ToolBar ist lediglich von der MFC Klasse CWnd abgeleitet.</p>
<p>Nun gibt es allerdings beim Zeichnen ein kleines Problem. Wenn die ToolBar einen Farbverlauf als Hintergrund hat, und man mit der Maus über einen ToolBar-Button fährt und dann die Maus wieder entfernt, ist der Hintergrund &quot;weg&quot; da ja durch das MouseMove Event der Button anders gezeichnet wurde. Nun habe ich mir überlegt quasi den DC des Buttons VOR dem MouseMove Event zu speichern, um es beim MouseLeave Event wieder zurück kopieren zu können.</p>
<p>Ich habe allerdings keine Ahnung wie ich das anstellen soll. Jeder Button hat seine eigene Button Struktur. Dort gibt es eine Membervariable CMemDC. Hier speichere ich mit</p>
<pre><code class="language-cpp">pButton-&gt;SaveDC(GetDC(), &amp;pButton-&gt;m_Rect);
</code></pre>
<p>den DC. Wie kann ich den DC nun wieder &quot;zurückkopieren&quot;?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1276929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1276929</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Tue, 01 May 2007 13:39:36 GMT</pubDate></item><item><title><![CDATA[Reply to ToolBar Control - DC zwischenspeichern on Tue, 01 May 2007 16:24:16 GMT]]></title><description><![CDATA[<p>Du darfst nur in WM_PAINT zeichnen. Alles andere ist für die Füsse.</p>
<p>Ein DC ist nicht der Inhalt der Fenster sonder die Summe aller Eigenschaften mit denen gezeichnet wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277043</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 01 May 2007 16:24:16 GMT</pubDate></item><item><title><![CDATA[Reply to ToolBar Control - DC zwischenspeichern on Wed, 02 May 2007 10:27:35 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Du darfst nur in WM_PAINT zeichnen. Alles andere ist für die Füsse.</p>
<p>Ein DC ist nicht der Inhalt der Fenster sonder die Summe aller Eigenschaften mit denen gezeichnet wird.</p>
</blockquote>
<p>Hmm, verstehe ich nicht ganz. Wird ein Speichern/Kopieren des DCs nicht funktionieren?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277431</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277431</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Wed, 02 May 2007 10:27:35 GMT</pubDate></item><item><title><![CDATA[Reply to ToolBar Control - DC zwischenspeichern on Wed, 02 May 2007 11:15:52 GMT]]></title><description><![CDATA[<p>Weil es nicht den Inhalt des Kontextes auf dem Monitor sichert. Ich vermute das möchtest Du! Es speicher nur die aktuellen Einstellungen und returniert diese.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277461</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277461</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 02 May 2007 11:15:52 GMT</pubDate></item><item><title><![CDATA[Reply to ToolBar Control - DC zwischenspeichern on Wed, 02 May 2007 11:48:23 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Weil es nicht den Inhalt des Kontextes auf dem Monitor sichert. Ich vermute das möchtest Du! Es speicher nur die aktuellen Einstellungen und returniert diese.</p>
</blockquote>
<p>Genau. Also ist das ohne weiteres nicht möglich? Also es müsste quasi ein Screenshot von dem Button Rect gemacht, um diesen später wieder zu zeichnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277482</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277482</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Wed, 02 May 2007 11:48:23 GMT</pubDate></item><item><title><![CDATA[Reply to ToolBar Control - DC zwischenspeichern on Wed, 02 May 2007 12:14:36 GMT]]></title><description><![CDATA[<p>Das macht niemand. Warum auch. Platziere Deinen Code zum Malen in OnPaint male dort und kümmer Dich nicht weiter drum.</p>
<p>Wen müsstest Du die die Bitmap dort besorgen und diese kopieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277497</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277497</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 02 May 2007 12:14:36 GMT</pubDate></item><item><title><![CDATA[Reply to ToolBar Control - DC zwischenspeichern on Wed, 02 May 2007 12:55:28 GMT]]></title><description><![CDATA[<p>Möglich wäre es aber, oder?</p>
<p>Vom Mehraufwand würde es sich aber warscheinlich nicht lohnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277530</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Wed, 02 May 2007 12:55:28 GMT</pubDate></item><item><title><![CDATA[Reply to ToolBar Control - DC zwischenspeichern on Wed, 02 May 2007 13:16:48 GMT]]></title><description><![CDATA[<p>Wenn<br />
1. ich bereits Code habe, der meinen Toolbar korrekt anzeigt.<br />
2. ich keine Geschwindigkeitsprobleme durch neuanzeigen eines minimal kleinen Bildscirm Auschnittes habe.<br />
3. es absolut transparent und einfach ist den Abschnitt neu anzeigen zu lassen (Invalidate,UpdateWindow)</p>
<p>Frage:<br />
Warum sollte ich einen Bildschimausschnitt sichern, der in den nächsten 2ms schon wiederveraltet sein kann? Was rechtfertigt den Mehraufwand?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277546</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Wed, 02 May 2007 13:16:48 GMT</pubDate></item><item><title><![CDATA[Reply to ToolBar Control - DC zwischenspeichern on Wed, 02 May 2007 13:45:16 GMT]]></title><description><![CDATA[<p>Ich hatte erst überlegt, ob es vielleicht schneller ist wenn ich immer nur das jewilige Button Element neu zeichne und nicht die gesamte ToolBar mit Hintergrund etc. Deswegen hätte ich den einen Ausschnitt sichern müssen wenn zum Beispiel der ToolBar Hintergrund aus einem Farbverlauf besteht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1277570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1277570</guid><dc:creator><![CDATA[HaJo.]]></dc:creator><pubDate>Wed, 02 May 2007 13:45:16 GMT</pubDate></item></channel></rss>