Entwickler-Ecke
Multimedia / Grafik - canvas nicht löschen während programm im hintergrund ist
Sledge_Hammer - Di 08.10.02 16:04
Titel: canvas nicht löschen während programm im hintergrund ist
Hi
Ich bin grad dabei ein prog zu schreiben bei dem ich etwas auf den canvas zeichne. wenn jetzt aber das fenster meines programmes von einem anderen fenster überdeckt wird und danach wieder vollständig zum vorschein kommt, ist der gesamte bereich der überdeckt war gelöscht, das heißt meine zeichnung ist gelöscht und der bereich ist wieder grau.
ich hoffe ihr versteht was ich meine!
und eine kurze frage hätte ich noch: wie kann ich den ganzen bereich oder teile daraus drucken?
THX Benni
Anonymous - Mi 09.10.02 00:22
Erstell eine TBitmap Variable mit den Koordinaten von ClientHeight und ClientWidth des Formulars. Zeichne was du zeichnen willst auf der Bitmap. Setze in OnPaint Prozedur des Formulars eine Kopierfunktion die die Bitmap auf das Formular überträgt.
Andrers gehts leider nicht.
Ich hab mal schnell ein Beispiel gezaubert:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| var Form1: TForm1; Bmp: TBitmap;
implementation
{$R *.DFM}
procedure TForm1.FormCreate(Sender: TObject); begin Bmp := TBitmap.Create; Bmp.Canvas.Brush.Color := clYellow; Bmp.Width := ClientWidth; Bmp.Height := ClientHeight; end;
procedure TForm1.FormDestroy(Sender: TObject); begin Bmp.Free; end;
procedure TForm1.FormPaint(Sender: TObject); begin Canvas.Draw(0, 0, Bmp); //Draw oder was besseres end;
procedure TForm1.Button1Click(Sender: TObject); begin Bmp.Canvas.Rectangle(10, 20, 300, 400); //Als Beispiel wird ein Rechteck gezeichnet FormPaint(Self); //Nach jeder wichtigen Aktion Bitmap wieder übertragen end; |
Sledge_Hammer - Mi 09.10.02 10:19
Hi
Danke für die Hilfe. Werd ich mal probieren. Ich denk mal so werd ich das auch mit dem drucken hinkriegen.
THX Benni
Criz - So 19.01.03 14:43
Hi,
Probier's mit der Paintbox.. :D
AndyB - So 19.01.03 18:23
@Criz: Hast du schon mal auf das Datum des Postings geschaut?
Rool - So 19.01.03 21:19
Titel: nebenbei...
ähhh... mit ner paintbox ist es das gleiche!!!
man muss wenn schon ein TImage nehmen!!!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!