![]() |
Hintergrundfarbe des TabControls
Hallo,
wie kann man bei dem Standard-TabControl die Hintergrundfarbe (hinter den Tabs) ändern? Falls es gar nicht geht, welche Alternative gibt es? Ich möchte gerne Tabs auf einer Form plazieren. Das Page-Control scheidet dabei aus, denn ich möchte lediglich einen Memo-Text mit den Tabs ändern. besten Dank! Grüsse, Hannes |
Re: Hintergrundfarbe des TabControls
Hai Hannes,
meinst Du den effekt wenn Du diesen Code benutzt?
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin TabControl1.Brush.Color := clRed; end; |
Re: Hintergrundfarbe des TabControls
@Sharky: Hmmm, naja ....
Wenn ich Deinen Code ohne XP-Manifest benutze, dann ist das ganze Control rot. Mit XP-Manifest blinkt der Hintergrund hinter den Tabs beim Starten nur mal kurz rot auf ... :-( |
Re: Hintergrundfarbe des TabControls
Zitat:
Leg einfach nochmal ein panel (mit alClient) drüber und setze das auf Rot. |
Re: Hintergrundfarbe des TabControls
Hallo Bernhard,
wenn ich das mache, dann wird zwar das TabControl rot, aber ich möchte ja eigentlich nur diesen grauen Hintergrund (da wo keine Tabs sind) wegbekommen .... Was mich auch wundert: Ohne Manifest sind die Tabs grau (und man kann es nicht ändern) und mit ist der Hintergrund grau - was man auch nicht ändern kann ... |
Re: Hintergrundfarbe des TabControls
Wofür ist denn wohl die Eigenschaft "OwnerDraw" gut? Wenn ich diese auf True stelle wird zwar alles so wie ich es möchte gezeichnet, allerdings hat die Schrift dann scheinbar auch die Hintergrundfarbe ....
Kann man hier jetzt irgendwie die Schriftfarbe ändern? |
Re: Hintergrundfarbe des TabControls
Wenn Du OwnerDraw auf True setzt musst Du das Zeichen (Textausgabe) selber machen.
Schaue Dir mal das Ereigniss .OnDrawTab an. Dort kannst Du den Text dann ausgeben. |
Re: Hintergrundfarbe des TabControls
Zitat:
|
Re: Hintergrundfarbe des TabControls
Zitat:
Das sollte den Text ausgeben:
Delphi-Quellcode:
procedure TForm1.TabControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean); begin Control.Canvas.TextOut(rect.Left+2,Rect.Top+2,TabControl1.Tabs[TabIndex]); end; |
Re: Hintergrundfarbe des TabControls
Hmm, das ist ja doch nicht so schwer :-)
Danke Sharky, jetzt bin ich glücklich genug um weiterzukommen .... ! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 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