[SOLVED]Bitmap malen
-
Ich habe ein HBITMAP in den Speicher geladen,
und möchte es in mein Dialog zeichnen.Bis jetzt habe ich diesen Ansatz
//DRAW BG case WM_PAINT: { PAINTSTRUCT ps; BeginPaint(hwnd, &ps); DrawBitmapHere(ps.hdc, 0, 0, hFirstBg, 0, 1); EndPaint(hwnd, &ps); }void DrawBitmapHere (HDC PaintDC, int x, int y, HBITMAP TheBitmap, DWORD dRap, BOOL bCenter) { BITMAP BitData; HDC BitmapDC=CreateCompatibleDC(PaintDC); HBITMAP OldBitmap=SelectBitmap(BitmapDC,TheBitmap); if(dRap == NULL) dRap=SRCCOPY; GetObject(TheBitmap,sizeof(BITMAP),&BitData); if(bCenter) { x -= BitData.bmWidth / 2; y -= BitData.bmHeight / 2; } BitBlt(PaintDC,x,y,BitData.bmWidth,BitData.bmHeight,BitmapDC,0,0,dRap); SelectBitmap(BitmapDC,OldBitmap); DeleteDC(BitmapDC); }Aber es tut sich garnichts

mfG
-
Ich muss die Fragestellung erweitern:
Es klappt wenn ich
"UpdateWindow(hwnd);" einfüge, aber dann zeigt
er fast alles nicht mehr richtig an
(http://img3.freeimagehosting.net/uploads/e22830d2b7.jpg)Wie komme ich um das UpdateWindow herum, und warum verbuggt das alles?
-
Bist Du sicher, dass das das tut (
), was es soll?if(bCenter) { x -= BitData.bmWidth / 2; y -= BitData.bmHeight / 2; }Evtl. mal auskommentieren.
Des weiteren: ist 'hFirstBg' gültig?
-
Naja, ich hab es jetzt anders gemacht

Danke trozdem