Home » Tipps & Tricks » Komponenten » Sonstige » TabSheets farblich darstellen
TabSheets farblich darstellen
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.