![]() |
auf Tabsheet Zeichnen ?
Hallo
ich habe einen Code, der auf fir Form1 zeichnet Ich habe nun ein Tabsheet auf Form1
Delphi-Quellcode:
Wie kann ich auf Tabsheet statt auf Form zeichnen ?
end;
Form1.Canvas.Draw(0, 0, bm); Form1.Caption := IntToStr(round(i / count * 100)) + '%'; Application.ProcessMessages; if Application.Terminated then break; end; Form1.Canvas.Draw(0, 0, bm2); Form1.Caption := 'done'; bm1.Destroy; bm2.Destroy; bm.Destroy; end; Mein Versuch war einfach so :
Delphi-Quellcode:
//Form1.Canvas.Draw
Form1.Tabsheet1.Canvas.Draw // error hier : Undeclared canvas ! |
Re: auf Tabsheet Zeichnen ?
Hat ein Tabsheet denn einen Canvas? Wenn es keinen hat kann du natürlich auch nicht drauf zeichnen.
Edit: Blöd formuliert. Versuch mal nicht vom TabSheet sondern vom TabControl einen Canvas zu erhalten. Aber wie so oft: Die Hilfe, wirkt hier Wunder. |
Re: auf Tabsheet Zeichnen ?
Hi delphiturbo,
Das Problem ist, dass TTabsheets keine (öffentliche) Canvas-Property besitzen. Du kannst das Problem umgehen indem du eine Instanz von TCanvas erzeugst und dem Handle des erzeugten Canvas' den DC des Tabsheets übergibst. Mit dem so erzeugten Canvas kannst du dann auf das Tabsheet zeichnen. Den DC eines Controls erhälst du mit ![]() Gruß Neutral General |
Re: auf Tabsheet Zeichnen ?
Bei TTabsheet ist ein Canvas nicht vorgesehen und existiert deswegen auch nicht.
Du musst dir also das Devcie Context Handle des Tabsheet-Windows besorgen ( ![]() ![]() Ich würde dir auch raten: 1. im Paint-Ereignis zu zeichnen. Ansonsten ist dein Gemälde ratz-fatz wieder weg. 2. Die Verweise auf globale Variablen zu umgehen Edit: Den einen roten Kasten hatte ich ja,.... :gruebel: |
Re: auf Tabsheet Zeichnen ?
Ach ja... So nebenbei: Man gibt Objekte besser mit .Free frei, als mit Destroy ;)
|
Re: auf Tabsheet Zeichnen ?
öhmmm könnte man nich auch einfach nen Image auf das tabsheet setzen und über deren canvas zeichnen?!? :gruebel:
oder wär das zu einfach?! |
Re: auf Tabsheet Zeichnen ?
Oder eine PaintBox
|
Re: auf Tabsheet Zeichnen ?
Zitat:
|
Re: auf Tabsheet Zeichnen ?
Zitat:
|
Re: auf Tabsheet Zeichnen ?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:20 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