Delphi-Quellcode:
var
aRect, bRect: TRect
{ ... }
procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
const
_clTabColors : array [0..1] of TColor = (clGray,clGray);
_sTabCaptions : array [0..3] of string = ('tab1','tab2', 'tab3', 'tab4');
begin
aRect := PageControl1.TabRect(PageControl1.ActivePageIndex);
bRect := PageControl1.TabRect(PageControl1.ActivePageIndex);
Control.Canvas.Brush.Color := _clTabColors[TabIndex];
Control.Canvas.Rectangle(0, 0, 60, 20);
Control.Canvas.FillRect(bRect);
Control.Canvas.FillRect(aRect);
Control.Canvas.TextOut(aRect.Left+5,Rect.Top+3,_sTabCaptions[TabIndex]);
end;
Das Problem ist, das in _sTabCaptions dann immer alles definiert werden muss, deshalb geht die eben vorgeschlagene Methode wahrscheinlich nicht.
Im Attachment seht ihr zwei Tabs, wie sie aussehen sollen.