Einzelnen Beitrag anzeigen

SarDGer

Registriert seit: 19. Mai 2005
55 Beiträge
 
Delphi 7 Professional
 
#1

Probleme beim zeichnen auf ein Panel

  Alt 24. Aug 2005, 09:18
Hallo Leute,

Ich hab ein kleines Problem:
Ich möchte ein Modales Fenster aufrufen, worauf ein TPanel liegt.
Auf diesem TPanel möchte ich ein TBitmap zeichnen lassen.
Also habe ich eine Procedure (ZeichneBMP) geschrieben die im wesentlichen so aussieht :

Delphi-Quellcode:
Procedure ZeichneBMP(DestHandle : HWND; drawRect : TRect; Bitmap : graphics.TBitMap);
Begin
  BitBlt(getDC(DestHandle), 0,0, Bitmap.Width, Bitmap.Height, Bitmap.Canvas.Handle, 0, 0, SRCCOPY);
end;
Als DestHandle übergebe ich das Panel-Handle.
Die Funktion rufe ich im OnPaint auf.
So weit so gut, funktioniert ja auch, wenn ich die Form nachträglich in der grösse verändere. Also
dafür sorge das das OnPaint nochmal ausgeführt wird.

Es sieht so aus als ob mein bmp zuerst gezeichnet wird und dann erst das Panel als solches,
mein bmp wird also überzeichnet.

Klar ich könnte jetzt ein wenig rumtricksen und den Funktionsaufruf ins OnResize und im
OnConstrainedResize ein Refresh legen.
Aber das wäre eben nur getrickst. Also wenn jemand 'ne gute Idee hat wäre ich echt dankbar.

Grüsse,
Sar
  Mit Zitat antworten Zitat