1

我是 Visual C++ 的新手(我过去用 C 而不是 C++ 编程)。我开始创建一些基本的应用程序,包括窗口和控件以及其他类似的东西。当运行我的一个应用程序对话框时,看看它的外观(不要看里面的文字,它只是一些文字):

在此处输入图像描述

我的问题是我制作的任何组件看起来都像 Windows 2000 的组件。如何获得 Windows 7 样式?

顺便提一句。由于我是新手,如果有人能给我一些关于学习的好资源的提示,我将不胜感激。:)

4

2 回答 2

5

编译器无关紧要,但你需要

  • 一个应用程序清单,指定使用第 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 之前的版本之一中。

于 2013-01-07T13:08:44.303 回答
0

回答您在哪里可以找到 Windows 7 表单样式的问题:

一种选择,看看:http ://www.tmssoftware.com/site/advtoolbar.asp

TMS 有很多非常好的和方便的组件(不仅仅是视觉组件)。不幸的是,它们不是免费的……但如果您打算出售您的软件(在我看来),这是值得的。

于 2013-01-07T13:17:45.003 回答