2013-01-07 93 views
1

我是新来的Visual C++(我在C不是C++编程,在过去的)。我开始创建一些基本的应用,与Windows和控件和其他的东西像。当跑我的应用程序之一对话,看看它的外观(不看它的文本,它只是一些文本):Windows 7的按钮样式++

enter image description here

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

BTW。由于我是新的,我将不胜感激,如果有人能给我说说好的资源,从学习技巧。 :)

+0

http://blogs.msdn.com/b/oldnewthing/archive/2007/05/31/2995284.aspx –

+1

http://msdn.microsoft.com/en-gb/library/windows/desktop/bb773175 (v = vs.85)的.aspx –

回答

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

最好对于这一点,你将最终需要,是彼佐尔德’小号“编程Windows ”。在(书的)过渡到C#前的版本之一/。NET。

0

在回答您的在那里你可以找到的Windows 7风格的形式问题:

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

TMS具有非常好的,方便的组件的负荷(不仅可视组件)。 不幸的是它们不是免费的...但是值得的,如果你打算出售软件(在我看来)。