Delphi 工具栏样式已更改
Delphi Toolbar Style Changed
我刚从 Delphi 2009 升级到 Delphi XE8。这样做改变了我程序工具栏上按钮的外观。
使用 Delphi 2009 编译时,它看起来像这样:
但现在使用 Delphi XE8,它看起来像这样:
在我看来,这与属性有关。如果按钮的 Down 属性 为真,则其背景将为蓝色。如果我单击该按钮,则将 Down 属性 更改为 false,该按钮将失去蓝色背景。
有谁知道可能导致蓝色背景的原因以及如何消除它?
我在 Windows 8.1。
跟进:David 关于这是 Windows 8.1 的默认显示的回答是正确的。检查其他程序,我看到他们也这样做。
我没想到这是默认设置,因为我用 Delphi 2009 编译的程序没有这样做。但正如 David 还解释的那样,那是因为 Delphi 2009 没有内置主题支持,但 Delphi XE8 有。 (它可能已在 Delphi XE2 中添加,但不要引用我的话)
大卫提到清单是一个可能的原因。不是这种情况,但他提醒我我可能有多个清单,应该检查一下。
所以我的问题的最终答案是我不想消除蓝色背景。这是Windows 8.1默认显示向下按钮的方式,我想通过我的程序显示原生主题。
你的D2009程序没有主题,但是你的XE8程序有主题。我的意思是 XE8 包含一个指定 comctl32 版本 6 的应用程序清单。您的 D2009 程序不包含清单,或者不包含请求 comctl32 版本 6 的那部分清单。
XE8程序的视觉外观是原生平台外观,表面上看跟风是正常的。所以我会选择的选项是将外观作为平台标准。这是XE8版本。
但是,为了回答您的问题,您可以通过删除清单的 comctl32 v6 部分来恢复到旧外观。这也会影响程序的其他部分。如果您只想禁用工具栏的主题,可以使用 SetWindowTheme
.
来实现
我刚从 Delphi 2009 升级到 Delphi XE8。这样做改变了我程序工具栏上按钮的外观。
使用 Delphi 2009 编译时,它看起来像这样:
但现在使用 Delphi XE8,它看起来像这样:
在我看来,这与属性有关。如果按钮的 Down 属性 为真,则其背景将为蓝色。如果我单击该按钮,则将 Down 属性 更改为 false,该按钮将失去蓝色背景。
有谁知道可能导致蓝色背景的原因以及如何消除它?
我在 Windows 8.1。
跟进:David 关于这是 Windows 8.1 的默认显示的回答是正确的。检查其他程序,我看到他们也这样做。
我没想到这是默认设置,因为我用 Delphi 2009 编译的程序没有这样做。但正如 David 还解释的那样,那是因为 Delphi 2009 没有内置主题支持,但 Delphi XE8 有。 (它可能已在 Delphi XE2 中添加,但不要引用我的话)
大卫提到清单是一个可能的原因。不是这种情况,但他提醒我我可能有多个清单,应该检查一下。
所以我的问题的最终答案是我不想消除蓝色背景。这是Windows 8.1默认显示向下按钮的方式,我想通过我的程序显示原生主题。
你的D2009程序没有主题,但是你的XE8程序有主题。我的意思是 XE8 包含一个指定 comctl32 版本 6 的应用程序清单。您的 D2009 程序不包含清单,或者不包含请求 comctl32 版本 6 的那部分清单。
XE8程序的视觉外观是原生平台外观,表面上看跟风是正常的。所以我会选择的选项是将外观作为平台标准。这是XE8版本。
但是,为了回答您的问题,您可以通过删除清单的 comctl32 v6 部分来恢复到旧外观。这也会影响程序的其他部分。如果您只想禁用工具栏的主题,可以使用 SetWindowTheme
.