XP-Styles不适用于Windows XP中的ListView或ComboBox

时间:2012-06-12 08:13:47

标签: winapi windows-7 windows-xp

我正在使用XP样式的清单,所以我的所有控件都使用了新的外观。但是,如果我在Windows XP中运行我的程序,那么我的ListView控件将显示旧样式的平头。此外,HDS_NOSIZING样式不适用于标题。这似乎意味着XP正在使用listview的旧Common Controls 5.0版本而不是6.0。

我对这件事感到非常困惑。我读到Common Controls 6.00附带XP,为什么我不能使用最新的ListView和XP?

我在另一页上看到,XP-Styles仅适用于XP中的Common Controls 5.0 ListViews,但不适用于6.0。所以,如果它确实使用5.0,那么它不应该将新的XP-Styles应用于listviews吗?

是否可以使用某些控件的Common Controls 6.0版本和其他控件的5.0版本?

还有一件事。在XP中,我的ComboBox下拉列表看起来像常规的组合框而不是像Win7中那样的按钮。这是正常的吗?

感谢您的帮助,因为我发现整个Common Controls 6.0 + XP样式概念非常混乱。

1 个答案:

答案 0 :(得分:1)

您希望在Windows XP上看到Windows 7样式。那不行。 XP 显示扁平标题,HDS_NOSIZING仅在Vista及更高版本中受支持。同样,具有CBS_DROPDOWNLIST的组合框仅在Vista及更高版本中显示为按钮。

很可能,您的程序正在按预期工作,并显示正确的XP样式。您可以使用调试器进行仔细检查。调试+ Windows +模块,查看加载的comctl32.dll的版本号