发现一个使vc6.0编出来的程序在XP下有xp风格的简单方法,很奇怪!!!!
今天研究一个控件,发现这个控件的例子是在Studio2003下编译,可我用的是VC6.0,我发现将例子重新编译好后例子还是有xp的风格,觉得很奇怪,比较后,我把例子工程中一个*.manifest导入我自己写的工程中,以自定义资源的方式导入的。类型命名为24,ID设定为1(改变为其他类型和ID时都不行),结果发现我用vc6.0编出来的程序的控件也有了xp的风格了(我用的操作系统时xp)。奇怪啊!!!!
*.manifest的内容如下:
<?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="T-Mobile.RAN.netViewer"
    type="win32"
/>
<description>netViewer mobile network performance monitoring tool.</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="X86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
        />
    </dependentAssembly>
</dependency>

解决方案 »

  1.   

    在MSDN里的搜索栏里输入“Using Windows XP Visual Styles ”点“列出主题”就有一个主题来描述。
      

  2.   

    Windows XP通过Comctl32.dll(版本6)来加载具备XP风格的组件,应用程序则通过一个XML资源文件来通知系统来做这些。XML文件的内容如下:<?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"   MSDN : visual style
      

  3.   

    谢谢啦,我还想问下这个xml的配置文件除了来改变XP风格外还能做啥啊!!看了下里面有不少的信息,能帮我解释下,或给我点资料参考下。
    谢谢啦!!