delphi – 更改TToolBar背景颜色
我遇到了一个问题,我通常无法使用其属性ToolBar.Color更改TToolBar的背景颜色(例如clwhite).我在Delphi方面不是很有经验,我找到了两种可能的解决方案,但我仍然想知道,如何正确地改变它或为什么它不可能.
1)将样式更改为渐变,但它也会更改按钮的基本动画. ToolBar.DrawingStyle := dsGradient ToolBar.GradientStartColor := clWhite ToolBar.GradientEndColor := clWhite 2)使用以下设置将TToolBar放入TPanel中. Panel.Color := clwhite ToolBar.Parent := Panel ToolBar.Align := alClient ToolBar.Transparent := True 解决方法
默认情况下,TToolbar会忽略其Color属性.
默认情况下,Transparent属性为true,因此无论工具栏的父级颜色是什么,都会闪耀. 如果您查看VCL源代码,您会看到TToolbar没有自己的绘图;它是ComCtl32.dll中ToolbarWindow32 Win32公共控件的包装器. TPageControl / TTabSheet也是如此,它不会发布其Color propery. 简而言之 >使用相同的GradientEndColor和GradientStartColor设置渐变.>将工具栏放在另一个控件(例如TPanel)上并更改该控件的颜色,因为工具栏是透明的,父颜色将透过.您需要将面板的BevelInner / BevelOuter设置为bvNone.>启用VCL样式并遇到与该公司复选框反模式相关的所有问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |