// var ResBitmap: HBITMAP ist global def.
// ResBitmap := LoadBitmap(hInstance, MAKEINTRESOURCE(1));
procedure SetBitmap(hWnd: HWND);
var
myBitmapDC: HDC;
ResBitmapDC: HDC;
myBitmap: HBITMAP;
hOldBitmap: HBITMAP;
begin
// DC von DlgItem (Image) holen
myBitmapDC := GetDC(GetDlgItem(hwnd, IDC_IMG1));
// DC für ResBitmap erstellen
ResBitmapDC := CreateCompatibleDC(myBitmapDC);
// Mem-Bitmap erzeugen
myBitmap := CreateCompatibleBitmap(myBitmapDC, 32, 32);
// dem Mem-Bitmap einen DC zuweisen
SelectObject(myBitmapDC, myBitmap);
// dem ResBitmap einen DC zuweisen
hOldBitmap := SelectObject(ResBitmapDC, ResBitmap);
// Bild von ResBitmap zu Mem-Bitmap kopieren
BitBlt(myBitmapDC, 0, 0, 32, 32, ResBitmapDC, 0, 0, SRCCOPY);
// dem DlgItem-Image das neue (Mem)Bitmap senden
SendDlgItemMessage(hwnd, IDC_IMG1, STM_SETIMAGE, IMAGE_BITMAP, myBitmap);
SelectObject(ResBitmapDC, hOldBitmap);
DeleteDC(ResBitmapDC);
ReleaseDC(GetDlgItem(hwnd, IDC_IMG1), myBitmapDC);
end;