Windows Ribbon Framework for Delphi及自定义样式

3
我刚开始尝试使用Delphi的Windows Ribbon Framework,感觉非常不错,但是当我启用由Delphi提供的自定义样式(项目选项>应用程序>外观),例如Cyan Dusk时,我注意到在我的窗体客户区域顶部有一个白色条纹: Ribbon & Custom Style 如果没有应用任何自定义样式,则不会出现这种情况。我注意到当使用DevExpress Skins时也会有相同的行为。
这是框架的问题吗?我正在使用Delphi XE4。
谢谢。

样式没有很好地实现,旧版本中更糟糕。 - David Heffernan
@RRUZ是样式大师。他的一些修复和扩展可以在这里找到:vcl-styles-utils - LU RD
问题的核心在于VCL样式仅适用于明确设计为进行样式设置的控件。这通常是Delphi预装的所有控件。但是,它不一定适用于第三方控件。一些第三方库可能利用样式,但Ribbon并非专门进行样式设置。正如先前提到的,vcl-styles-utils 可能有一个修复Ribbon的解决方案。 - Jerry Dodge
你也必须意识到这一点:http://blog.marcocantu.com/blog/2016-may-ribbon-controls.html - Jerry Dodge
1个回答

2

VCL样式不支持Windows Ribbon Framework或任何Ribbon UI。但是,在同一应用程序中使用VCL样式和ribbon UI在技术上是可能的,但这需要禁用使用Ribbon UI的表单(和控件)中的样式。


从XE6 VCL开始,Tribbon与VCL样式非常兼容,我已经将它们一起使用了好几年。 - Vancalar
在XE6中,TRibbon与VCL样式的兼容性得到了改善,但也需要您使用StyleElements属性来禁用某些控件的样式。 - RRUZ
我刚刚尝试了一下包含功能区的窗体的StyleElements属性,似乎是seBorder值特别容易引起冲突。这对我来说可能是一个不错的解决方法,因为我可以在包含功能区菜单的主窗体上禁用它,并使所有其他窗体启用该样式。谢谢! - Joe Costanzo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接