• 让在vc6创建的程序中,控件可以随xp风格的改变而变化,不用再程序中添加代码来自己实现~


    让在vc6创建的程序中,控件可以随xp风格的改变而变化,不用再程序中添加代码来自己实现~

    感谢 [jack_rose] 的回答~
    用个记事本保存下例为:程序名.exe.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="ATI.HydraVision.MagnifyFX"
        type="win32"
    />
    <description>应用程序描述</description>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity
                type="win32"
                name="Microsoft.Windows.Common-Controls"
                version="6.0.0.0"
                processorArchitecture="X86"
                publicKeyToken="6595b64144ccf1df"
                language="*"
            />
        </dependentAssembly>
    </dependency>
    </assembly>

    同样感谢 [BlueTopic] 的补充~
    使用.manifest文件不费任何力气就可以在xp系统里实现xp风格的控件,但是这样做有一点不方便的地方就是manifest必须放到exe所在目录,如下做法可以将manifest文件放到资源文件中,编译后生成.res文件,link后自然就和.exe文件“合”到一起了。  

      .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>  


      大家也看到了,这其实是一个XML文件,打开记事本,复制上面的内容,然后存盘,文件名任意,这里我存为XPStyle.manifest。  

      然后在VC中新建一个MFC AppWizard(exe)工程,Document/View或Dialog均可,接着把XPStyle.manifest复制到工程所在目录,再用记事本或其它文本编辑工具手动修改工程目录下的资源文件(.rc),在文件最后加上一行:  

      1 24 “XPStyle.manifest” 

      最后加上的那一行,“1”代表资源ID,必须是“1”。“24”代表资源类型,我想我们对RT_ACCELERATOR、RT_BITMAP、RT_MENU、RT_STRING等资源都非常熟悉,而“24”实际上是RT_MANIFEST。最后面引号中的东西我就不再啰嗦了
            这样编译后生成的文件只有一个exe,但是同样可以在xp系统下实现xp风格控件

  • 相关阅读:
    myeclipse启动后,卡在loading workbench界面
    oracle数据库导入dmp文件
    ORA-28009: 应当以 SYSDBA 身份或 SYSOPER 身份建立 SYS 连接
    debug启动项目很慢
    CSS利用border绘制图形
    HTML创建链接框
    CSS实现单行文本溢出显示省略号
    HTML5中的Web Worker
    HTML拖放元素
    Canvas和SVG的比较
  • 原文地址:https://www.cnblogs.com/base/p/1827679.html
Copyright © 2020-2023  润新知