在VS2008中打开VC6 MFC工程,选了Unicode。编译运行后还是VC6的那种风格,求解?????

解决方案 »

  1.   

    楼主说的,应该是指使用“XP样式风格”吧?
    VS2005之后的版本,新建工程默认就加入该样式,打开VC6的工程不会加入,需要手工修改。给你推荐一篇文章:
    VC实现XP样式界面 http://blog.csdn.net/wintys/archive/2008/12/13/3511193.aspx
      

  2.   

    编写配置文件XPStyle.manifest,将其放至VC工程目录下:
    XPStyle.manifest内容:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity
      name="XP style manifest"
      processorArchitecture="x86"
      version="1.0.0.0"
      type="win32"/>
    <dependency>
      <dependentAssembly>
        <assemblyIdentity
          type="win32"
          name="Microsoft.Windows.Common-Controls"
          version="6.0.0.0"
          processorArchitecture="x86"
          publicKeyToken="6595b64144ccf1df"
          language="*"
        />
      </dependentAssembly>
    </dependency>
    </assembly>
    手动修改工程目录下的资源文件(*.rc),在文件最后加上一行:
    1 24 "XPStyle.manifest"
    在VC中编译并连接工程生成exe可执行文件,即可看到XP样式效果。
    注:1 24 "XPStyle.manifest"  : “1”代表资源ID,必须是“1”。“24”代表资源类型,我想我们对RT_ACCELERATOR、RT_BITMAP、RT_MENU、RT_STRING等资源都非常熟悉,而“24”实际上是RT_MANIFEST。
    编译后的这个.exe文件拿到哪都可以,都是XP风格的界面,不用再依赖.manifest文件了。当然了,必须在XP或2003系统下启动Themes服务才可以。在VC6中未加XP样式时对话框:加XP样式时的对话框: