Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Canvas Problem / Frage (https://www.delphipraxis.net/15041-canvas-problem-frage.html)

hibbert 20. Jan 2004 21:40


Canvas Problem / Frage
 
Hi,
wenn ich eine Linie mit dem Canvas Befahl erstelle
Code:
canvas.LineTo(100,100);
und sich danach eine andere Form o.ä. drübersetzt, Einstellungen vom Programm, werden die Linien wieder entfernt, jedenfalls an der stelle, wo sich das Fenster befand, die anderen Lininen bleiben so wie sie sind.

Ist es möglich, das die Linien nicht entfernt werden, wenn sich ein Fenster über die Linien setzt?

thx hibbert

sakura 20. Jan 2004 21:43

Re: Canvas Problem / Frage
 
Zitat:

Zitat von hibbert
Ist es möglich, das die Linien nicht entfernt werden, wenn sich ein Fenster über die Linien setzt?

Nein, das Windows-Canvas Objekt erinnert sich nicht an seinen Inhalt. Du musst das Ereignis WM_PAINT abfangen und die Linie wieder neu zeichnen.

...:cat:...

Mirilin 20. Jan 2004 21:43

Re: Canvas Problem / Frage
 
:hi:

Indem du auf ein TBitmap malst, und dieses im OnPaint der Form auf deren Canvas.

mfg Tobias

hibbert 21. Jan 2004 12:22

Re: Canvas Problem / Frage
 
Zitat:

Zitat von Mirilin
:hi:

Indem du auf ein TBitmap malst, und dieses im OnPaint der Form auf deren Canvas.

mfg Tobias

gut und wie gehts das genau?

negaH 22. Jan 2004 00:36

Re: Canvas Problem / Frage
 
Am besten ein TImage auf's Form. Nun wird NICHT in TImage.Canvas gezeichnet sondern in TImage.Picture.Bitmap.Canvas, das wars. Das TImage verwaltet nun selber eine TBitmap die sozusagen eine Zwischenspeicherung deiner Zeichnung enthält. Natürlich mußt du im .FormCreate() das TImage initialisieren.

Gruß Hagen


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 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