delphi pagecontrol 重绘TAB页,子选项卡标题如何正确显示

baidu_38818559 2017-05-17 09:42:27
将PageControl的OwnerDraw属性设置为True
在PageControl的OnDrawTab事件中加入如下代码:
procedure TfrmPCFMain.pgBasicDataDrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
begin
if Active then
begin
Control.Canvas.Brush.Color := $00DBEEFB;
Control.Canvas.Font.Color := clBlack;
end;
Control.Canvas.FillRect(Rect);
Control.Canvas.TextOut(Rect.Left + 4,Rect.Top + 4,pgBasicData.Pages[TabIndex].Caption);
end;
。但是pagecontrol 中的TAB页,当其中有的页面隐藏时,标题就会显示混乱。
正常情况下是
当第二个Tab页隐藏了,子选项卡标题就会显示显示错乱

请教各位大神,怎样才能修改标题正确呢
...全文
678 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lyhoo163 2017-05-18
  • 打赏
  • 举报
回复
你通过重画的方式,一定要确定Rect的区域,否则你就会出现错乱。 你可以动态地向,PageControl1.TabSheet1.Caption赋值。

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧