CodeFatal
Erfahrenes Mitglied
Moin moin,
ich seh vermutlich den Wald vor lauter Bäumen nicht.
Bei dem Code tritt ein Fehler auf, sobald ich das zweite mal in die Funktion laufe. Frage Warum und wie kann ich das beheben. ist die Bitmap nicht mehr gültig beim zweiten mal?
Will mit dem Schnipsel erreichen, das beim erstenmal der Grafik Hintergrund gespeichert wird und beim zweiten mal dieser verwendet.
Hoffe ihr könnt mir wieder helfen, da die elektornischen Helfer
und
keine Hilfe waren/sind.
Gruss Michael
ich seh vermutlich den Wald vor lauter Bäumen nicht.
Code:
//im Header
CBitmap *InMap;//NULL initialisiert
//in Cpp
funktion(){
.
.
.
GetClientRect(&rect);
if(DrawFlag & BS_INBITMAP)//InMap nutzen
{
CDC dcIm;//Source Fläche - Daten wie im Image
CBitmap *oldbmpIm;
if(!InMap)
{
InMap = new CBitmap;
if(!InMap)return;
InMap->CreateCompatibleBitmap(&dc,rect.Width(),rect.Height());
dcIm.CreateCompatibleDC(&dc);//fläche erstellen
oldbmpIm = dcIm.SelectObject(InMap);//Bitmap auswählen
dcIm.BitBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY);//Daten kopieren
dcIm.SelectObject(oldbmpIm);
}
else
{
oldbmpIm = dcIm.SelectObject(InMap);//Bitmap auswählen
dc.BitBlt(0,0,rect.Width(),rect.Height(),&dcIm,0,0,SRCCOPY);//Daten kopieren
dcIm.SelectObject(oldbmpIm);
}
.
.
.
}
Will mit dem Schnipsel erreichen, das beim erstenmal der Grafik Hintergrund gespeichert wird und beim zweiten mal dieser verwendet.
Hoffe ihr könnt mir wieder helfen, da die elektornischen Helfer
Gruss Michael