<?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[Problem mit erneutem Anzeigen einer Bitmap]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe ein Problem zu folgendem Quellcodeausschnitt, der zwei Bitmaps mehrere Male auf einer Hintergrundbitmap anzeigen lassen soll.<br />
Es erscheint aber immer nur eine Bitmap auf dem Hintergrund und diese auch nur einmal. Woran könnte dies liegen? Wüsstet ihr vielleicht eine Antwort?<br />
Oder eine Möglichkeit dieses Problem zu Lösen?</p>
<p>////////////////////////////////////////////////////////////////////////////<br />
void CMeinDlg::OnPaint()<br />
{<br />
Bild[0].LoadBitmap(Hintergrund); //CBitmap-Objekt</p>
<p>CPaintDC dc(this); // Gerätekontext für Zeichnen<br />
CPaintDC* pDC = &amp;dc;<br />
BITMAP bmBackground; //BITMAP-Struktur bm deklarieren<br />
Bild[0].GetObject(sizeof(bmBackground),&amp;bmBackground); //Größe und Adresse von CBitmap Bild[0] --&gt; BITMAP bm<br />
CDC memDC;<br />
memDC.CreateCompatibleDC(pDC); //SpeicherDC initialisieren<br />
memDC.SelectObject(&amp;Bild[0]); //Hintergrundbild --&gt; Speicher<br />
RECT Rect;<br />
GetClientRect(&amp;Rect);<br />
pDC-&gt;StretchBlt(0,0,Rect.right,Rect.bottom,&amp;memDC,0,0,<br />
bmBackground.bmWidth,bmBackground.bmHeight,SRCCOPY);<br />
CDialog::OnPaint();</p>
<p>Bild[1].LoadBitmap(IDB_BITMAP3); //CBitmap-Objekt<br />
Bild[2].LoadBitmap(IDB_BITMAP4); //CBitmap-Objekt</p>
<p>int nXDest=0; //X-Koordinate der Bitmap<br />
int nYDest=0; //Y-Koordinate der Bitmap<br />
int b=2;<br />
int c=0;<br />
int e=1;</p>
<p>for(c=0;c&lt;=1000;c++) {</p>
<p>if(e==1) {</p>
<p>b=1;<br />
e=+1;<br />
}<br />
if(e==2) {<br />
b=2;<br />
e=-1;<br />
}</p>
<p>nXDest=+20; //Erhöhung der X-Koordinate<br />
nYDest=+20; //Erhöhing der Y-Koordinate</p>
<p>BITMAP bm;<br />
Bild[b].GetObject( sizeof( bm ), &amp;bm );<br />
CDC SpeicherDC;<br />
SpeicherDC.CreateCompatibleDC( &amp;dc );<br />
SpeicherDC.SelectObject( &amp;Bild[b] );<br />
CRect Rect2, rect;<br />
GetClientRect( &amp;Rect2 );</p>
<p>dc.BitBlt(nXDest,nYDest, bm.bmWidth, bm.bmHeight,<br />
&amp;SpeicherDC,0,0,SRCAND);</p>
<p>}</p>
<p>/////////////////////////////////////////////</p>
<p>Schon mal vielen Dank im vorraus!</p>
<p>Gruß Crabbe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/49393/problem-mit-erneutem-anzeigen-einer-bitmap</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 16:56:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/49393.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 Sep 2003 17:51:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit erneutem Anzeigen einer Bitmap on Thu, 18 Sep 2003 17:51:17 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich habe ein Problem zu folgendem Quellcodeausschnitt, der zwei Bitmaps mehrere Male auf einer Hintergrundbitmap anzeigen lassen soll.<br />
Es erscheint aber immer nur eine Bitmap auf dem Hintergrund und diese auch nur einmal. Woran könnte dies liegen? Wüsstet ihr vielleicht eine Antwort?<br />
Oder eine Möglichkeit dieses Problem zu Lösen?</p>
<p>////////////////////////////////////////////////////////////////////////////<br />
void CMeinDlg::OnPaint()<br />
{<br />
Bild[0].LoadBitmap(Hintergrund); //CBitmap-Objekt</p>
<p>CPaintDC dc(this); // Gerätekontext für Zeichnen<br />
CPaintDC* pDC = &amp;dc;<br />
BITMAP bmBackground; //BITMAP-Struktur bm deklarieren<br />
Bild[0].GetObject(sizeof(bmBackground),&amp;bmBackground); //Größe und Adresse von CBitmap Bild[0] --&gt; BITMAP bm<br />
CDC memDC;<br />
memDC.CreateCompatibleDC(pDC); //SpeicherDC initialisieren<br />
memDC.SelectObject(&amp;Bild[0]); //Hintergrundbild --&gt; Speicher<br />
RECT Rect;<br />
GetClientRect(&amp;Rect);<br />
pDC-&gt;StretchBlt(0,0,Rect.right,Rect.bottom,&amp;memDC,0,0,<br />
bmBackground.bmWidth,bmBackground.bmHeight,SRCCOPY);<br />
CDialog::OnPaint();</p>
<p>Bild[1].LoadBitmap(IDB_BITMAP3); //CBitmap-Objekt<br />
Bild[2].LoadBitmap(IDB_BITMAP4); //CBitmap-Objekt</p>
<p>int nXDest=0; //X-Koordinate der Bitmap<br />
int nYDest=0; //Y-Koordinate der Bitmap<br />
int b=2;<br />
int c=0;<br />
int e=1;</p>
<p>for(c=0;c&lt;=1000;c++) {</p>
<p>if(e==1) {</p>
<p>b=1;<br />
e=+1;<br />
}<br />
if(e==2) {<br />
b=2;<br />
e=-1;<br />
}</p>
<p>nXDest=+20; //Erhöhung der X-Koordinate<br />
nYDest=+20; //Erhöhing der Y-Koordinate</p>
<p>BITMAP bm;<br />
Bild[b].GetObject( sizeof( bm ), &amp;bm );<br />
CDC SpeicherDC;<br />
SpeicherDC.CreateCompatibleDC( &amp;dc );<br />
SpeicherDC.SelectObject( &amp;Bild[b] );<br />
CRect Rect2, rect;<br />
GetClientRect( &amp;Rect2 );</p>
<p>dc.BitBlt(nXDest,nYDest, bm.bmWidth, bm.bmHeight,<br />
&amp;SpeicherDC,0,0,SRCAND);</p>
<p>}</p>
<p>/////////////////////////////////////////////</p>
<p>Schon mal vielen Dank im vorraus!</p>
<p>Gruß Crabbe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356303</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356303</guid><dc:creator><![CDATA[Crabbe]]></dc:creator><pubDate>Thu, 18 Sep 2003 17:51:17 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit erneutem Anzeigen einer Bitmap on Fri, 19 Sep 2003 14:11:08 GMT]]></title><description><![CDATA[<p>Weiß den wirklich keiner eine Lösung für mein Problem?</p>
<p>Gruß Crabbe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/356786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/356786</guid><dc:creator><![CDATA[Crabbe]]></dc:creator><pubDate>Fri, 19 Sep 2003 14:11:08 GMT</pubDate></item></channel></rss>