我是 Visual C++ 的新手(我过去用 C 而不是 C++ 编程)。我开始创建一些基本的应用程序,包括窗口和控件以及其他类似的东西。当运行我的一个应用程序对话框时,看看它的外观(不要看里面的文字,它只是一些文字):
我的问题是我制作的任何组件看起来都像 Windows 2000 的组件。如何获得 Windows 7 样式?
顺便提一句。由于我是新手,如果有人能给我一些关于学习的好资源的提示,我将不胜感激。:)
我是 Visual C++ 的新手(我过去用 C 而不是 C++ 编程)。我开始创建一些基本的应用程序,包括窗口和控件以及其他类似的东西。当运行我的一个应用程序对话框时,看看它的外观(不要看里面的文字,它只是一些文字):
我的问题是我制作的任何组件看起来都像 Windows 2000 的组件。如何获得 Windows 7 样式?
顺便提一句。由于我是新手,如果有人能给我一些关于学习的好资源的提示,我将不胜感激。:)
编译器无关紧要,但你需要
一个应用程序清单,指定使用第 6 版(或更高版本)的通用控件
如果您想支持 Windows XP,请致电InitCommonControls
(如果我没记错名称,请检查)
您需要的最低完整清单是
<?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="CompanyName.ProductName.YourApplication"
type="win32"
/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
如果包含国家字符,请将其存储为 UTF-8 文件。
对于 Visual Studio,您只需要关于常用控件的部分,
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="*"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
并将其指定为项目设置中的附加清单。
我的Windows API 教程博客是开始 Windows API 级编程的一个很好的资源。
你最终需要的最好的书是 Petzold 的“Programming Windows”。在(本书的)过渡到 C#/.NET 之前的版本之一中。
回答您在哪里可以找到 Windows 7 表单样式的问题:
一种选择,看看:http ://www.tmssoftware.com/site/advtoolbar.asp
TMS 有很多非常好的和方便的组件(不仅仅是视觉组件)。不幸的是,它们不是免费的……但如果您打算出售您的软件(在我看来),这是值得的。