设置OwnerDraw=True,在OnDrawTab事件中写 procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl; TabIndex: Integer; const Rect: TRect; Active: Boolean); var l_cap :String; l_rect:Trect; begin if TabIndex=PageControl1.TabIndex then begin with PageControl1.Canvas do begin Brush.Color := clInfoBk; FillRect(Rect); end; end; l_cap := PageControl1.Pages[tabindex].caption; l_Rect := Rect; DrawText(PageControl1.Canvas.Handle,Pchar(l_Cap),Length(l_cap),l_Rect,DT_SINGLELINE or DT_CENTER or DT_VCENTER); end;
procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var l_cap :String;
l_rect:Trect;
begin
if TabIndex=PageControl1.TabIndex then
begin
with PageControl1.Canvas do
begin
Brush.Color := clInfoBk;
FillRect(Rect);
end;
end;
l_cap := PageControl1.Pages[tabindex].caption;
l_Rect := Rect;
DrawText(PageControl1.Canvas.Handle,Pchar(l_Cap),Length(l_cap),l_Rect,DT_SINGLELINE or DT_CENTER or DT_VCENTER);
end;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
bmp := TBitmap.Create;
Control.Canvas.Brush.Color := $00CEE8CA;
Control.Canvas.FillRect(Rect);
Control.Canvas.Font.Color := clBlack;
Control.Canvas.Font.Charset := GB2312_CHARSET;
Control.Canvas.Font.Size := 9;
Control.Canvas.Font.Name := '宋体';
Control.Canvas.TextOut(Rect.Left+10,Rect.Top+4,TPageControl(Control).Pages[TabIndex].Caption);
end;
procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var l_cap :String;
l_rect:Trect;
begin
if TabIndex=PageControl1.TabIndex then
begin
PageControl1.Canvas.Font.Color := clBlue;
end;
l_cap := PageControl1.Pages[tabindex].caption;
l_Rect := Rect;
DrawText(PageControl1.Canvas.Handle,Pchar(l_Cap),Length(l_cap),l_Rect,DT_SINGLELINE or DT_CENTER or DT_VCENTER);
end;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
//Control.Canvas.Brush.Color := $00CEE8CA;
//Control.Canvas.FillRect(Rect);
Control.Canvas.Font.Color := clPurple;
//Control.Canvas.Font.Charset := GB2312_CHARSET;
//Control.Canvas.Font.Size := 9;
//Control.Canvas.Font.Name := '宋体';
Control.Canvas.TextOut(Rect.Left+10,Rect.Top+4,TPageControl(Control).Pages[TabIndex].Caption);
end;