![]() |
Form.Repaint
Hallo, wiedereinmal eine Frage:
Ich öffne während der Laufzeit meines Programms Bilder auf dem Formular (unten stehende Proze). Wenn jetzt der Benutzer das Formular in den Hintergrund zieht oder ausserhalb des Bildschirm-Bereichs, dann verschwinden diese "auf die Form" gezeichneten Bilder (selbiges bei Form.Refresh;). Wie kann ich jetzt in Form.Repaint; machen, dass die ganzen (das sind über 15 Bilder) wieder angezeigt werden ????
Delphi-Quellcode:
Bitte helft mir.
procedure bmp_zeichnen (x,y : integer; name : string);
var NButton : TBitmap; begin NButton := TBitmap.Create; try NButton.LoadFromFile (name); FAnwendung.Canvas.Brush.Bitmap := NButton; FAnwendung.Canvas.Draw(x,y,NButton); finally FAnwendung.Canvas.Brush.Bitmap := nil; NButton.Free; end; end; MFG devnull |
Re: Form.Repaint
Du mußt die BitMap natürlich auch neu zeichnen, wenn der Formular neu gezeichnet wird.
Also müssen die Bilder auch geladen bleiben - es wäre ja nicht so gut diese jedesmal neu zu laden ;) z.B.:
Delphi-Quellcode:
Var NButton1, NButton2, NButton3: TBitMap;
Procedure TForm1.FormCreate(Sender: TObject); Begin NButton1 := TBitmap.Create; NButton1.LoadFromFile('name1'); NButton2 := TBitmap.Create; NButton2.LoadFromFile('name2'); NButton3 := TBitmap.Create; NButton3.LoadFromFile('name3'); End; Procedure TForm1.FormDestroy(Sender: TObject); Begin NButton1.Free; NButton2.Free; NButton3.Free; End; Procedure TForm1.FormPaint(Sender: TObject); Begin Canvas.Draw(x1, y1, NButton1); Canvas.Draw(x2, y2, NButton2); Canvas.Draw(x3, y3, NButton3); End; |
Re: Form.Repaint
Wenn ich jetzt mit einem Programm zur Laufzeit ungefähr 72 Bilder erstelle, dann muss ich im vorhinein alle
72 in var definieren ? :gruebel: |
Re: Form.Repaint
Nimm ein Array.
Noch zu deinem Porblem: Zitat:
![]() |
Re: Form.Repaint
Danke. Dein Beispiel hat mir sehr geholfen :thuimb: :thuimb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz