我使用纯win32 api(没有MFC或WPF)用C ++编写了一个应用程序。 我希望在Window XP和Windows Vista / Windows 7下运行相同的.exe。
我正在使用清单将Visual Styles添加到我的应用程序中的控件。但是,当我在XP机器上测试应用程序时,按钮不显示。仅编辑控件和菜单栏。
编辑:我想我忘记提及这一点,但该应用程序在WIndows 7 / Vista上运行正常。 编辑2:我正在使用MinGW编译器 我认为这是清单的问题,所以我删除它并重新编译我的程序。但按钮仍然没有出现。 我使用的清单如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="*"
name="BlackJack.Viraj"
type="win32"
/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.2600.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
问题出现在清单中还是其他问题?
答案 0 :(得分:3)
请务必致电InitCommonControlsEx
答案 1 :(得分:1)
这是另一回事。假设它们是正常的标准按钮,无论清单看起来是什么,或者是否有清单,它们都应该显示出来。还有其他事情正在发生。
答案 2 :(得分:1)
答案 3 :(得分:0)
清单很好。因此问题必须在您的代码中。创建主题应用程序与非主题应用程序并不完全相同。