如何改变PageControl最上面用于选择页的颜色

daiguan 2002-07-01 03:28:53
改变PageControl的颜色只能改变面板的颜色,改不了最上面那一排选择页的颜色,还有ListView中的Columns的颜色以及DBCtrlGrid滑动杆的颜色,谢谢
...全文
249 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
daiguan 2002-07-04
  • 打赏
  • 举报
回复
谢谢各位,我使用了TextOut的方法输出,效果差不多,不过有点怪怪,算了,就这样吧,至于其他的,比如滚动条之类的,这一类控件的基类都有滚动条的属性,到他们身上就没了,怎么改,是否再继承一个类?
kamochoi 2002-07-04
  • 打赏
  • 举报
回复
faltstyle控件
ilang 2002-07-03
  • 打赏
  • 举报
回复
同意懒猫的方法。设置OwnerDraw属性为True,重画PageControl时TabSheet原来的Caption无法显示出来,如果你可以确认位置,可直接用TextOut重新写入标题
Carfield 2002-07-03
  • 打赏
  • 举报
回复
PageControl1.OwnerDraw:=True

procedure TForm1.PageControl1DrawTab(Control: TCustomTabControl;
TabIndex: Integer; const Rect: TRect; Active: Boolean);
var
AText: string;
APoint: TPoint;
begin
with (Control as TPageControl).Canvas do
begin
Brush.Color := clred;//TabSheet的颜色
FillRect(Rect);
AText := TPageControl(Control).Pages[TabIndex].Caption;
with Control.Canvas do
begin
APoint.x := (Rect.Right - Rect.Left) div 2 - TextWidth(AText) div 2;
APoint.y := (Rect.Bottom - Rect.Top) div 2 - TextHeight(AText) div 2;
TextRect(Rect, Rect.Left + APoint.x, Rect.Top + APoint.y, AText);
end;
end;
end;
hezchuan168 2002-07-03
  • 打赏
  • 举报
回复
控件里面的颜色 有些是能改,有些是不能该的
jackie168 2002-07-03
  • 打赏
  • 举报
回复
系统本身控制,不可以改它的属性......
daiguan 2002-07-03
  • 打赏
  • 举报
回复
是否一点办法都没有?
daiguan 2002-07-02
  • 打赏
  • 举报
回复
没有人知道吗?
daiguan 2002-07-01
  • 打赏
  • 举报
回复
那么其他两个呢,是否需要RECT进行重画,特别是滚动条,基类中是有滚动条设置的,现在却没了
csntgao 2002-07-01
  • 打赏
  • 举报
回复
pagecontrol有ondrawtab事件,响应这个事件,然后把ownerdraw:=true
就可以了
daiguan 2002-07-01
  • 打赏
  • 举报
回复
我找了不少控件,都没有找到
daiguan 2002-07-01
  • 打赏
  • 举报
回复
能不能推荐这样的控件,因为时间紧,自己写一个已经不太现实,直接改控件又怕以后出问题。
netlib 2002-07-01
  • 打赏
  • 举报
回复
这些都是系统控制,没有改它的属性,
如果你非要改,建议使用第三方控制,或自己写一个。

5,388

社区成员

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

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