设置PageControl的owndraw属性为TRUE.
procedure TForm1.pgc1DrawTab(Control: TCustomTabControl; TabIndex: Integer;
const Rect: TRect; Active: Boolean);
var
cc: Cardinal;
tabRect: TRect;
begin
CopyRect(tabRect,Rect);
Control.Canvas.Brush.Color:= Self.color;
SetBkMode(Control.Canvas.Handle,1);
Control.Canvas.FillRect(tabRect);
cc := SetTextAlign(Control.Canvas.Handle,TA_TOP);
if(not Active) then
begin
SetTextColor(Control.Canvas.Handle,RGB(0,0,0));
Control.Canvas.TextOut(tabRect.Left+5,Rect.Top+2,TPageControl(Control).Pages[TabIndex].Caption);
end
else
begin
SetTextColor(Control.Canvas.Handle,ColorToRGB(clBlue));
Control.Canvas.TextOut(tabRect.Left+5,Rect.Top+4,TPageControl(Control).Pages[TabIndex].Caption);
end;
SetBkMode(Control.Canvas.Handle,0);
SetTextAlign(Control.Canvas.Handle,cc);
end;
本文介绍了一种在Delphi中自定义PageControl组件外观的方法,通过设置owndraw属性为TRUE并实现pgc1DrawTab过程来自定义选项卡的背景颜色、文字颜色及位置等细节。
2064

被折叠的 条评论
为什么被折叠?



