Hallo!
Nach langer Zeit bin ich mal wieder an Pascal dran und schon hapert es an der Darstellung einer Grafik. Wenn ich LoadImage() verwende um mein HBITMAP zu erzeugen funktioniert es ja bereits. Doch aus verschiedenen Gründen möchte ich es mit CreateBitmap() erzeugen. Ich habe bereits die Daten des Bitmap hintereinander in den Speicher gelesen, auf den der Pointer s_Image.Data zeigt. Der folgende Code gibt auch ein
Handle ungleich 0 zurück. Der Aufruf sollte also erfolgreich gewesen sein:
s_Bitmap := CreateBitmap(s_Image.Width, s_Image.Height, s_Image.Planes, s_Image.Bits, s_Image.Data);
Doch mit dem folgenden Code, der zur Darstellung des mit LoadImage geladenen Bitmaps funktionierte, kann ich es nicht ins Fenster zeichnen:
Delphi-Quellcode:
s_h_DC := GetDC(s_h_Wnd);
s_hdc_mem := CreateCompatibleDC(s_h_DC);
s_temp := SelectObject(s_hdc_mem, s_Bitmap);
BitBlt(s_h_DC, 0, 0, 480, 320, s_hdc_mem, 0, 0, SRCCOPY);
s_h_Wnd ist das
Handle meines Fensters. Ich hoffe hier findet jemand meinen Fehler.