【发布时间】:2011-08-30 09:42:08
【问题描述】:
我将 TPageControl 样式设置为平面按钮 (tsFlatButtons),并使用 OnDrawTab 事件更改选项卡的按钮颜色。
它可以工作,但是不活动的按钮有灰色(btnFace 颜色)边框!
知道如何解决这个问题吗?
procedure TForm1.PageControlDrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
AText: string;
ARect: TRect;
begin
with (Control as TPageControl).Canvas do
begin
ARect := Rect;
OffsetRect(ARect, 0, 4);
Brush.Color := COLOR1;
FillRect(Rect);
AText := TPageControl(Control).Pages[TabIndex].Caption;
with Control.Canvas do
DrawText(Control.Canvas.Handle, PChar(AText), -1,ARect, DT_CENTER or DT_SINGLELINE);
end;
end;
【问题讨论】:
-
我添加了代码。这很简单。
-
对我来说效果很好。哪个版本的 Delphi?
-
另外,哪个 Windows 版本?可能与主题/通用控件版本有关...
-
我使用经典主题在 XP Pro 上进行了测试。 Delphi 是第 7 版。
-
@David:我写的可以,但是有灰色边框。我会上传截图。
标签: delphi ownerdrawn tpagecontrol