0

我正在为 XP 样式使用 Manifest,所以我的所有控件都使用新外观。但是,如果我在 Windows XP 中运行我的程序,那么我的 ListView 控件将显示旧样式的平面标题。HDS_NOSIZING 样式也不适用于标题。这似乎暗示 XP 正在使用旧的 Common Controls 5.0 版本的列表视图,而不是 6.0。

我对这整件事感到非常困惑。我读到 Common Controls 6.00 随 XP 一起提供,那么为什么我不能在 XP 中使用最新的 ListView?

我在另一页上读到 XP-Styles 仅适用于 XP 的 Common Controls 5.0 ListViews 但不适用于 6.0。因此,如果它确实使用 5.0,那么它不应该将新的 XP-Styles 应用于列表视图吗?

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

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

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

4

1 回答 1

1

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

很可能,您的程序完全按照应有的方式运行,并且显示了正确的 XP 样式。您可以使用调试器仔细检查。Debug + Windows + Modules 并查看加载的 comctl32.dll 的版本号

于 2012-06-12T11:05:11.173 回答