VC ++中的Windows 7按钮样式

时间:2013-01-07 12:43:20

标签: c++ visual-c++ windows-7 win32gui

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

enter image description here

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

顺便说一句。我是新人,如果有人能给我提供有关学习的好资源的建议,我将不胜感激。 :)

2 个答案:

答案 0 :(得分: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 tutorial blog

最好的,你最终需要的是Petzold的“Programming Windows”。在(书籍)过渡到C#/。NET之前的一个版本中。

答案 1 :(得分:0)

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

一个选项,请查看:http://www.tmssoftware.com/site/advtoolbar.asp

TMS拥有非常漂亮且方便的组件(不仅仅是可视组件)。 不幸的是,他们不是免费的...但是如果你打算出售你的软件(在我看来),这是值得的。