Anfänger12 Geschrieben 24. Februar 2005 Teilen Geschrieben 24. Februar 2005 Ich möchte auf einem Dialog ein BMP-Bild (256 Farbe) als Hintergrund darstellen. Ich habe folgenden Code ausprobiert, ohne Erfolg. CWnd* pWnd = GetDlgItem (IDD_DIALOG); CPaintDC dc(pWnd); CDC pControlDC; CBitmap bit; bit.LoadBitmap(IDB_HINTERGRUND); pControlDC.CreateCompatibleDC(&dc); pControlDC.SelectObject(&bit); dc.BitBlt(0,0,100,50,&pControlDC,0,0,SRCCOPY); Was ist daran falsch? Der Compiler meldet keinen Fehler. Die Anwendung auf dem PocketPC zeigt aber kein Bild. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 24. Februar 2005 Teilen Geschrieben 24. Februar 2005 Wo (in welcher Funktion) steht dieser Code? Was liefern LoadBitmap und BitBlt zurück? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Anfänger12 Geschrieben 25. Februar 2005 Autor Teilen Geschrieben 25. Februar 2005 Diesen Code habe ich in OnInitDialog() eingefügt. Den Code selbst habe ich aus irgend einem Buch entnommen. Weiß nicht mehr welches. Mehr kann ich dazu nicht sagen. Aber wenn es andere Möglichkeiten gibt werden ich auch glücklich sein . Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 25. Februar 2005 Teilen Geschrieben 25. Februar 2005 Die MSDN Library sagt zu CPaintDC:A CPaintDC object can only be used when responding to a WM_PAINT message, usually in your OnPaint message-handler method. Das ganze muss also in OnPaint stehen. Was ist IDD_DIALOG? Und nochmal: Prüf die Rückgabewerte der Funktionen! Was liefern GetDlgItem, LoadBitmap und BitBlt zurück? Das sind die absoluten Grundlagen der Fehlersuche. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Anfänger12 Geschrieben 27. Februar 2005 Autor Teilen Geschrieben 27. Februar 2005 Ich habs ausprobiert. Wie du schon sagtest muss folgender Code in WM_PAINT Funktion stehen: CDC pControlDC; CBitmap bit; bit.LoadBitmap(IDB_HINTERGRUNDBILD); pControlDC.CreateCompatibleDC(&dc); pControlDC.SelectObject(&bit); dc.BitBlt(0,0,200,100,&pControlDC,0,0,SRCCOPY); Dann wird es funktionieren! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.