- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望能够将某种样式应用于我正在开发的应用程序中的少数 BitBtn。我已经应用了 VCL 风格来为我的整个应用程序换肤。
根据我在网上阅读的理解,我可以定义我自己的 TBitBtn 子类,然后我可以为该给定类定义一个样式 Hook 。
我让它与 TLabel 和 TEdit 一起工作,但我不太确定如何管理 TButton 或 TBitBtn。本质上,我想将不同的背景图像应用于自定义 TBitBtn,而不是主题中包含的背景图像。
最佳答案
要使用 Vcl 样式修改 TBitBtn
的外观,取决于您的 Delphi 版本
您必须创建一个从TBitBtnStyleHook
类派生的新样式 Hook ,然后重写DrawButton
方法。检查这个问题Disabling TButton issue on a VCL styled form
我在其中发布了一个示例代码,在本例中重写了 TButtonStyleHook.Paint
方法来修复错误,但您可以根据自己的需要调整相同的代码。
TBitBtn
在这些版本上不使用样式 Hook ,因此您唯一的选择是处理 TBitBtn
控件的 CN_DRAWITEM 消息,然后添加您自己的代码进行绘制这个答案Delphi XE2 VCL styles, How to disable VCL styles on TBitBtn?中解释了类似的按钮
关于delphi - 使用 VCL 样式时覆盖某些 TBitButton 的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19141249/
我希望能够将某种样式应用于我正在开发的应用程序中的少数 BitBtn。我已经应用了 VCL 风格来为我的整个应用程序换肤。 根据我在网上阅读的理解,我可以定义我自己的 TBitBtn 子类,然后我可以
我是一名优秀的程序员,十分优秀!