Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Auf Tabsheet zeichnen (https://www.delphipraxis.net/15195-auf-tabsheet-zeichnen.html)

Spurius 23. Jan 2004 18:04


Auf Tabsheet zeichnen
 
Hallo,
wie kann ich auf ein Tabsheet von einem Pagecontrol zeichnen?
Das Pagecontrol hat Canvas, aber das Tabsheet nicht :(
Gruß
Spurius

Neg 23. Jan 2004 18:16

Re: Auf Tabsheet zeichnen
 
Platziere doch einfach ein Panel auf dem Tabsheet...

MaOfDe 23. Jan 2004 18:33

Re: Auf Tabsheet zeichnen
 
Hi,
zwei Possibilities:
1.: Alles auf ein Bitmap zeichnen und das Bitmap dem TabSheet übergeben:
Delphi-Quellcode:
TabSheet1.Brush.Bitmap:=MyBMP;
Hab ich irgendwo gelesen, aber selber noch nicht versucht, ich ziehe die zweite Möglichkeit vor:

2.: Kreier eine Instanz von TCanvas und übergebe die Eigenschaft Handle von TabSheet folgendermaßen:
Delphi-Quellcode:
MyCanvas:=TCanvas.Create;
try
  MyCanvas.Handle:=GetDC(TabSheet1.Handle);
  MyCanvas.TextOut(0, 0, 'So zeichnest du dann aufs TabSheet ;-)');
finally
  ReleaseDC(MyCanvas.Handle, TabSheet1.Handle);
  MyCanvas.Free;
end;
Bevor du deine Instanz von TCanvas wieder freigibst, musste des Handle freigeben mit ReleaseDC...klappt merkwürdigerweise auch ohne... zumindest bei mir.
Klappt übrigens mit allem was als Eigenschaft Handle hat...naturlement vom Typ HWND.

MrKnogge 23. Jan 2004 19:55

Re: Auf Tabsheet zeichnen
 
Zitat:

Zitat von Neg
Platziere doch einfach ein Panel auf dem Tabsheet...

Seit wann hat denn ein Panel TCanvas :gruebel:

Ich hatte mal ein ähnliches Problemund hab mir einfach ein label draufgeschmissen.

Neg 23. Jan 2004 23:53

Re: Auf Tabsheet zeichnen
 
Ja, stimmt, Panel geht nicht. Hatte ich falsch in Erinnerung.

Wie wäre es mit einer PaintBox?


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz