TabSheets farblich darstellen |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 1 |
| Letzte Änderung | 28.09.2010 |
Um die TabSheets eines TPageControls farblich darzustellen, implementieren Sie das OnDrawTab-Ereignis des PageControls. Setzen Sie zunächst die Eigenschaft OwnerDraw der Komponente auf True, damit das Ereignis ausgelöst wird.
procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
CaptionX: Integer;
CaptionY: Integer;
TabCaption: string;
begin
with Control.Canvas do
begin
case TabIndex of
0:
begin
Brush.Color := clBtnFace;
Font.Color := clWindowText;
end;
1:
begin
Brush.Color := clMaroon;
Font.Color := clWhite;
end;
end;
TabCaption := PageControl1.Pages[TabIndex].Caption;
CaptionX := Rect.Left + ((Rect.Right - Rect.Left - TextWidth(TabCaption)) div 2);
CaptionY := Rect.Top + ((Rect.Bottom - Rect.Top - TextHeight('Gg')) div 2);
FillRect(Rect);
TextOut(CaptionX, CaptionY, TabCaption);
end;
end;
Über den Parameter TabIndex lässt sich das TabSheet identifizieren. Ihnen stehen die gesamten Möglichkeiten der TCanvas-Klasse zur Gestaltung zur Verfügung.