10

请参阅以下步骤以重现。在 XE2 中运行良好,但在 XE8 中运行良好。

  1. 创建一个新的 VCL 表单应用程序 - Delphi
  2. 在表格上放置 aTButton和 aTOpenDialog
  3. 在按钮OnClick事件调用中OpenDialog1.Execute
  4. 运行程序,打开文件对话框,然后右键单击文本文件 => 显示菜单项 ok
  5. 转到项目/选项/应用程序/外观。启用并选择自定义样式(例如“Ruby Graphite”)并重新编译
  6. 运行程序,打开文件对话框,然后右键单击文本文件 => 未正确显示菜单项(显示无效字符)

使用 XE8 订阅更新 1 测试(Windows 从 8.1 升级到 10)

4

1 回答 1

17

Windows 10 在负责绘制 shell 弹出菜单的代码中引入了一些内部更改。所以必须修改 VCL Style 代码以兼容 Windows 10。我刚刚向 EMB 报告了这个

作为解决方法,您可以使用修复此问题的VCL Styles Utils项目(只需将Vcl.Styles.Utils.Menus单元添加到您的项目中)。

检查下一个 Image ,左侧弹出菜单使用标准 VCL 样式,右侧菜单使用VCL Styles Utils项目。

在此处输入图像描述

于 2015-08-25T16:22:47.850 回答