请参阅以下步骤进行重现。在 XE2 中运行良好,但在 XE8 中运行不佳。
- 创建新的 VCL 表单应用程序 - Delphi
- Place a
TButton
and a TOpenDialog
在表格上
- 在按钮中
OnClick
事件调用OpenDialog1.Execute
- 运行程序,打开文件对话框,然后右键单击文本文件 => 显示菜单项 ok
- 转到项目/选项/应用程序/外观。启用并选择自定义样式(例如“Ruby Graphite”)并重新编译
- 运行程序,打开文件对话框,然后右键单击文本文件 => 无法正确显示菜单项(显示无效字符)
使用 XE8 订阅更新 1 进行测试(Windows 从 8.1 升级到 10)
Windows 10 在负责绘制 shell 弹出菜单的代码中引入了一些内部更改。所以必须修改VCL Style代码才能兼容Windows 10。我刚刚报告将此信息发送给 EMB https://quality.embarcadero.com/browse/RSP-11682
作为解决方法,您可以使用VCL 样式实用程序 https://github.com/RRUZ/vcl-styles-utils解决此问题的项目(只需添加Vcl.Styles.Utils.Menus
单元到您的项目)。
检查下一个图像,左侧弹出菜单使用标准VCL样式,右侧菜单使用VCL Styles Utils
项目。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)