Probleme mit OnPaint
-
Hallo,
ich hab eine Anwendung erstellt, die ein Bitmap auf das Dialogfeld malt.
Wenn nun aber eine andere Anwendung diese verdeckt, wird das Bild nicht mehr angezeigt, obwohl ich den Code zum zeichnen in OnPaint angegeben habe.
Wird diese Funktion nicht aufgerufen, wenn die Anwendung verdeckt und wieder sichtbar wird?Vielen Dank,
David
-
Ich hatte des Prob auch ma, hab dann die Bitmap auch für InitDialog zeichnen lassen (bzw ausm Memory geholt) - hat gefunzt
-
Das versteh ich nicht, InitDialog wird doch nur beim ersten Start der Anwendung aufgerufen, wie soll das funktionieren?
Hier mal der Code der in OnPaint steht, vielleicht hilft das weiter:
CBitmap bmpStatus; bmpStatus.LoadBitmap(m_IDStatusResource); CDC dcTemp; dcTemp.CreateCompatibleDC(m_crtStatus.GetDC()); dcTemp.SelectObject(&bmpStatus); (m_crtStatus.GetDC())->BitBlt(0,0,75,50,&dcTemp,0,0,SRCCOPY);
m_IDStatusResource ist eine Member-Variable von CMyDialogAppDlg, und enthält die RessourcenID des Bitmaps, das gemalt werden soll.
m_crtStatus ist ein BildSteuerelement.
Wenn die Anwendung im Vordergrund ist, funktioniert alles perfekt, aber wenn sie minimiert und neu gezeichnet oder überdeckt wird, wird immer das Bild angezeigt, dass ich unter "Abbild" des BildSteuerelements angegeben habe, obwohl es übermalt werden sollte.Nochmals Danke soweit
[ Dieser Beitrag wurde am 22.12.2002 um 11:06 Uhr von CGI-BIN editiert. ]
-
Ahjo sorry warn falscher Gedanke von mir, ich hab mein Programm nochmal durchsucht, und ich bin mir da jetzt net hundertprozentig sicher (auch selbst kein Profi ist
), aber bei dir fehlt am Ende nach dem BitBlt noch ein ReleaseDC(dcTemp).
Sollte das Prog danach auch mit Minimieren etc. funzen wär ich dankbar für ein Reply, so dass ich weiß obs nu wirklich hinhaut oder net. Arigatou