Anfänger12 Geschrieben 24. Februar 2005 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.
Klotzkopp Geschrieben 24. Februar 2005 Geschrieben 24. Februar 2005 Wo (in welcher Funktion) steht dieser Code? Was liefern LoadBitmap und BitBlt zurück?
Anfänger12 Geschrieben 25. Februar 2005 Autor 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 .
Klotzkopp Geschrieben 25. Februar 2005 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.
Anfänger12 Geschrieben 27. Februar 2005 Autor 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!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden