F
Original erstellt von cd9000:
Poste doch mal, wie du p_hdcMem initialisierst.
Okay, initialisiert wird das DC so:
//////////////
// Konstruktor d. Fensters:
if ( (p_hdcMem = ::CreateCompatibleDC(NULL)) == NULL )
throw ErrorWin(TEXT("Konnte kein hdcMem erstellen"));
//////////////
// Create-Win-Funktion:
HDC hdc = ::GetDC(NULL);
//p_ixMem = p_iyMem -> 400 (25*16)
if ( (p_hBitMem = ::CreateCompatibleBitmap(hdc, p_ixMem, p_iyMem)) == NULL ) {
int err = ::GetLastError();
::DeleteObject(p_hdcMem);
::DeleteObject(m_hBrBK); // Wird nur im destruktor gelöscht, wenn m_bInitObjects
// auf true gesetzt wurde
::ReleaseDC(NULL, hdc);
throw ErrorWin(true, err, TEXT("Konnte BitMem nicht anlegen (Code %d)"), err);
}
::ReleaseDC(NULL, hdc);
m_bInitObjects = true; // Okay, jetzt sind alle GDI-Objects beisammen...
::SelectObject(p_hdcMem, p_hBitMem);
**
p.s.:
Das throw ist an dieser Stelle sehr ungeschickt platziert. Dann vergisst dein Programm nämlich das EndPaint.
**
Stimmt
Gruss,
FoneBone