vc2005设置XP风格界面两种方法(转载)

本文介绍两种方法,可以在不选择Unicode的情况下使MFC应用程序的界面具备更现代的外观,包括通过创建并链接XML清单文件及直接在代码中设置依赖。

方法一

在VC2005中创建一个MFC工程,然后选择对话框界面,其中有个选择是否是Unicode,当选择Unicode的时候和不选择Unicode的时候,对话框中的按钮显示效果差异很大,选择Unicode的是好看的效果,没有选择的是老式的效果。

为了不选Unicode而使用好看的效果,我从网上找到了答案。(借抄别人最简单的方法)

记录如下:

1.在res文件夹下创建一个txt文件,输入以下内容

  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>   
  2. <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">   
  3. <assemblyIdentity    
  4.       version="1.0.0.0"    
  5.       processorArchitecture="X86"    
  6.       name="Microsoft.Windows.M8000"   
  7.       type="win32"    
  8. />   
  9. <description>SetM8000</description>   
  10. <dependency>   
  11.     <dependentAssembly>   
  12.       <assemblyIdentity    
  13.           type="win32"    
  14.           name="Microsoft.Windows.Common-Controls"    
  15.           version="6.0.0.0"    
  16.           processorArchitecture="X86"    
  17.           publicKeyToken="6595b64144ccf1df"    
  18.           language="*"    
  19.         />   
  20.     </dependentAssembly>   
  21. </dependency>   
  22. </assembly>   
<?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="X86"   
      name="Microsoft.Windows.M8000"  
      type="win32"   
/>  
<description>SetM8000</description>  
<dependency>  
    <dependentAssembly>  
      <assemblyIdentity   
          type="win32"   
          name="Microsoft.Windows.Common-Controls"   
          version="6.0.0.0"   
          processorArchitecture="X86"   
          publicKeyToken="6595b64144ccf1df"   
          language="*"   
        />  
    </dependentAssembly>  
</dependency>  
</assembly>  

2.将文件名改为:XPStyle.mainfest.

3.在"项目属性"--"清单工具"---"输入和输出"---"附加清单文件"--在里面填入XML文件的位置:$ (ProjectDir)\res\XPStyle.manifest
4.OK重新编译就出效果了。

方法二

从网络上找到一个更好的方法:

在stdafx.h中添加以下代码:

  1. #if defined _M_IX86   
  2. #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")   
  3. #elif defined _M_IA64   
  4. #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")   
  5. #elif defined _M_X64   
  6. #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")   
  7. #else   
  8. #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")   
  9. #endif   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值