Bitmap wird nur einmal gezeichnet, danach nicht mehr =(
-
hi alle,
ich hab da etwas das ich nicht so verstehe.Ich habe da ein Programm welches Bitmaps nebeneinander in der View anzeigt. Nur leider wird nur ein bitmap gezeichnet und alle anderen werden nicht angezeigt. Nach einer Sekunde ungefähr (sobald OnDraw() wieder aufgerufen wird, verschwindet das gezeichnete Bitmap aber wird nicht mehr gemalt. Sodass beim 2ten durchlauf auch das erstgemalte ncht mehr gezeichnet wird. Habt ihr da eine Idee?
m_TestBitmap(CBitmap), dcMem(CDC) und bm (HBITMAP) sind member der klasse.
Hier der code:
m_TestBitmap.GetBitmap(&bm); // Einen Gerätekontext erzeugen dcMem; // Neuen Gerätekontext zum originalen DC kompatibel machen dcMem.CreateCompatibleDC(pDC); // Bitmap in den neuen DC selektieren dcMem.SelectObject(&m_TestBitmap); pDC->StretchBlt(GetX1()+5,GetY1()+5,GetX2()-5,GetY2()-5, &dcMem, 0, 0,bm.bmWidth, bm.bmHeight, SRCCOPY);Danke schonmal im voraus!
cheers
-
Wo genau steht denn dieser Code-Schnipsel? (Das Zeichnen übernimmt offiziell die Methode OnPaint() - und wenn die nichts davon weiß, daß sie dein Bitmap darstellen soll, dann übermalt sie's mit dem normalen Fenster-Hintergrund)
-
der schnipsel liegt in einer anderen view klasse. (kein onPaint())
Vom ablauf.. Ruft die View meine methode auf und es wird lediglich der pointer von CDC übergeben.