![]() |
TPageControl andere Farbe
Hi,
wie kann ich bei einem TPagecontrol die hintergrundfarbe der Tabs ändern? Weil da hats keine Coloreigenschaft und wenn ich von TForm die farbe ändere dann ändert sich auch die Farbe der Seiten des TP.c. aber eben nicht die der Tabs und das sieht dann blöd aus! Es gibt da ja ownerDraw aber da muss ich die ganze zeichenroutine übernehmen das ist auch doof weil das nicht naatlos klappt! Kann man da nicht irgendwie wass machen dass ich nur die hintergrundfarbe ändere und der rest wieder delphi macht? gruß flo |
Hallo Florian,
probier's mal damit:
Delphi-Quellcode:
type
TForm1 = class(TForm) PageControl1: TPageControl; TabSheet1: TTabSheet; TabSheet2: TTabSheet; TabSheet3: TTabSheet; procedure PageControl1DrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean); var TabCaption : String; TabRect : TRect; begin TabRect:=Rect; InflateRect(TabRect,-4,-2); TabCaption:=TPageControl(Control).Pages[TabIndex].Caption; With Control.Canvas do begin Case TabIndex of 0 : Brush.Color:=clRed; 1 : Brush.Color:=clLime; 2 : Brush.Color:=clBlue; else Brush.Color:=clBtnFace; end; Brush.Style:=bsSolid; FillRect(Rect); Brush.Style:=bsClear; DrawText(Handle,PChar(TabCaption),-1,TabRect,dt_singleline+dt_left+dt_vcenter); end; end; procedure TForm1.FormCreate(Sender: TObject); begin PageControl1.OwnerDraw:=True; end; end. |
cool, danke!
|
Re: TPageControl andere Farbe
Moin habe mir mal gerade diesen beitrag angesehen. Wie kann man denn jetzt die Tabbezeichnung selbst definieren. Irgendwie bekomme ich das nicht hin.
Danke. |
Re: TPageControl andere Farbe
Hallo,
Delphi-Quellcode:
sollte die Lösung sein
TabCaption:=TPageControl(Control).Pages[TabIndex].Caption;
|
AW: TPageControl andere Farbe
Wau, danke! Hat mir sehr geholfen :-)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:54 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 by Thomas Breitkreuz