<?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[CDC kopieren]]></title><description><![CDATA[<p>Hallo,<br />
hier mein Code</p>
<pre><code>//BB - Fenster wird aktualisiert
	CClientDC dc3(this);
	dc3.SetBkMode(TRANSPARENT);

	CDC tempDC;
	tempDC.CreateCompatibleDC(&amp;dc3);
	tempDC.SetBkMode(TRANSPARENT);
   	tempDC.SelectObject( &amp;graph );

///////////////////////////////////////////////////////////
	CDC graphDC;
	graphDC.CreateCompatibleDC(&amp;dc3);
   	graphDC.BitBlt(0,0, rcClip.Width(), rcClip.Height(), 
        &amp;tempDC,rcClip.left, rcClip.top, SRCCOPY );

// Das hier funktioniert nicht!
	dc3.BitBlt( rcClip.left, rcClip.top, rcClip.Width(), rcClip.Height(),
        &amp;graphDC,rcClip.left, rcClip.top, SRCCOPY );
// Das hier funktioniert!
	dc3.BitBlt( rcClip.left, rcClip.top, rcClip.Width(), rcClip.Height(),
        &amp;tempDC,rcClip.left, rcClip.top, SRCCOPY );
</code></pre>
<p>Es geht nach wie vor um das altbekante Backbuffering Problem. Ich habe mir jetzt überlegt, dass es gehen müsste mein CBitmap in ein CDC zu laden und auf das CDC weiter zu malen, ohne das das CBitmap übermalt wird. SelectObject fällt somit aus. Was mache ich bei BitBlt falsch?</p>
<p>Lasst mich nicht hängen!<br />
Romeo-G</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/143719/cdc-kopieren</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Jul 2026 15:39:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/143719.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Apr 2006 09:09:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CDC kopieren on Tue, 11 Apr 2006 09:09:34 GMT]]></title><description><![CDATA[<p>Hallo,<br />
hier mein Code</p>
<pre><code>//BB - Fenster wird aktualisiert
	CClientDC dc3(this);
	dc3.SetBkMode(TRANSPARENT);

	CDC tempDC;
	tempDC.CreateCompatibleDC(&amp;dc3);
	tempDC.SetBkMode(TRANSPARENT);
   	tempDC.SelectObject( &amp;graph );

///////////////////////////////////////////////////////////
	CDC graphDC;
	graphDC.CreateCompatibleDC(&amp;dc3);
   	graphDC.BitBlt(0,0, rcClip.Width(), rcClip.Height(), 
        &amp;tempDC,rcClip.left, rcClip.top, SRCCOPY );

// Das hier funktioniert nicht!
	dc3.BitBlt( rcClip.left, rcClip.top, rcClip.Width(), rcClip.Height(),
        &amp;graphDC,rcClip.left, rcClip.top, SRCCOPY );
// Das hier funktioniert!
	dc3.BitBlt( rcClip.left, rcClip.top, rcClip.Width(), rcClip.Height(),
        &amp;tempDC,rcClip.left, rcClip.top, SRCCOPY );
</code></pre>
<p>Es geht nach wie vor um das altbekante Backbuffering Problem. Ich habe mir jetzt überlegt, dass es gehen müsste mein CBitmap in ein CDC zu laden und auf das CDC weiter zu malen, ohne das das CBitmap übermalt wird. SelectObject fällt somit aus. Was mache ich bei BitBlt falsch?</p>
<p>Lasst mich nicht hängen!<br />
Romeo-G</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1034999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1034999</guid><dc:creator><![CDATA[Romeo-G]]></dc:creator><pubDate>Tue, 11 Apr 2006 09:09:34 GMT</pubDate></item><item><title><![CDATA[Reply to CDC kopieren on Tue, 11 Apr 2006 09:18:56 GMT]]></title><description><![CDATA[<p>Trial&amp;Error++</p>
<p>Wen es interessiert:</p>
<pre><code>//BB - Fenster wird aktualisiert
	CClientDC dc3(this);
	dc3.SetBkMode(TRANSPARENT);

	CDC tempDC;
	tempDC.CreateCompatibleDC(&amp;dc3);
	tempDC.SetBkMode(TRANSPARENT);
   	tempDC.SelectObject( &amp;graph );

///////////////////////////////////////////////////////////
	CDC graphDC;
	graphDC.CreateCompatibleDC(&amp;dc3);
	graphDC.SetBkMode(TRANSPARENT);

		rcClip=cR_gMain;
	    GetClientRect(&amp;rcClient);

		 graph_infos.DeleteObject();
    	 graph_infos.CreateCompatibleBitmap(&amp;dc3, rcClient.Width(), rcClient.Height());
    	 graphDC.SelectObject( &amp;graph_infos );

    	 CRgn rgn;
    	 rgn.CreateRectRgnIndirect( &amp;rcClip );
    	 graphDC.SelectClipRgn(&amp;rgn);
    	 rgn.DeleteObject();

   	graphDC.BitBlt(rcClip.left, rcClip.top, rcClip.Width(), rcClip.Height(), &amp;tempDC,rcClip.left, rcClip.top, SRCCOPY );

dc3.BitBlt( rcClip.left, rcClip.top, rcClip.Width(), rcClip.Height(), &amp;graphDC,rcClip.left, rcClip.top, SRCCOPY );
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1035005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1035005</guid><dc:creator><![CDATA[Romeo-G]]></dc:creator><pubDate>Tue, 11 Apr 2006 09:18:56 GMT</pubDate></item></channel></rss>