Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Farbe eines Tabsheet Reiters ändern (TPageControl) (https://www.delphipraxis.net/119018-farbe-eines-tabsheet-reiters-aendern-tpagecontrol.html)

Andidreas 19. Aug 2008 16:29


Farbe eines Tabsheet Reiters ändern (TPageControl)
 
aloha zusammen,

ich habe auf meiner form ein TPageControl... das hat die farbe weiß...
die reiter der tabsheets haben ein hässliches grau...

wie kann ich hier die farbe ändern?
im forum habe ich schon paar beispiele gefunden... diese funktioniern bei mir aber leider nicht...

hier mal meine prozedur:

Delphi-Quellcode:
procedure Tmain_form.pagectrl_scaleDrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin

  WITH Control.Canvas DO
  BEGIN

    tabsheet_scaletest.Brush.Color := clRed;

  END;

end;
ich hoffe ihr könnt mir ein paar tipps geben ;-)

mkinzler 19. Aug 2008 16:48

Re: Farbe eines Tabsheet Reiters ändern (TPageControl)
 
Ruf mal die Standarddraw-Routine auf

Andidreas 20. Aug 2008 15:41

Re: Farbe eines Tabsheet Reiters ändern (TPageControl)
 
und welches ist die standard draw routine? beim tabsheet find ich nur die "ondrawtab"

toms 20. Aug 2008 16:05

Re: Farbe eines Tabsheet Reiters ändern (TPageControl)
 
Delphi-Quellcode:
procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
  TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
  TabText: string;
  APoint: TPoint;
begin
  with TPageControl(Control).Canvas do
  begin
    Brush.Color := ClRed;
    FillRect(Rect);
    TabText := TPageControl(Control).Pages[TabIndex].Caption;
    with Control.Canvas do
    begin
      APoint.x := (Rect.Right - Rect.Left) div 2 - TextWidth(TabText) div 2;
      APoint.y := (Rect.Bottom - Rect.Top) div 2 - TextHeight(TabText) div 2;
      TextRect(Rect, Rect.Left + APoint.x, Rect.Top + APoint.y, TabText);
    end;
  end;
end;
' PageControl1.OwnerDraw auf True setzen

Andidreas 20. Aug 2008 17:01

Re: Farbe eines Tabsheet Reiters ändern (TPageControl)
 
cool es funktioniert =) dankeschön :thumb:


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