当前位置:编程学习 > VB >>

?--vb6.0转换到vb2008控件显示问题

--------------------编程问答-------------------- 你应该搜索一下 manifest,VB的按钮其实是标准的按钮,而XP样式的按钮其实是非标的,如果要实现 XP样式按钮,需要使用 manifest,在VC中,可以将 manifest 及数据封装到自己的资源中,而 VB6 就只有通过在外部托一个与执行文件同名的 manifest 文件,在 .net 中,IDE自动将资源套入了manifest信息,所以如果你转换的VB6代码,是标准Windows接口按钮,没有manifest信息,所以样式就和.net的不一样。因为.net没有帮你加入manifest信息,不过采用老办法,在外部生成一个同名的manifest文件一样可以解决这个问题。
比如你的程序编译后是“工程1.exe”
那么在与他相同路径的地方建立一个“工程1.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="工程1.exe"   
          type="win32"   
  />   
  <description>WindowsExecutable</description>   
  <dependency>   
          <dependentAssembly>   
                  <assemblyIdentity   
                          type="win32"   
                          name="Microsoft.Windows.Common-Controls"   
                          version="6.0.0.0"   
                          processorArchitecture="X86"   
                          publicKeyToken="6595b64144ccf1df"   
                          language="*"   
                  />   
          </dependentAssembly>   
  </dependency>   
  </assembly> 

然后运行你的“工程1.exe”,就会发现所有控件都套上了系统样式,VB6也可这么做,至于想封装manifest到程序里,VC可以做到,只是指定资源名和编号而已,但因为VB6的资源管理没那么灵活,所以无法实现。只有挂在外面了 --------------------编程问答-------------------- vb6转2008基本上要重写了
--------------------编程问答-------------------- 窗体部分用vb2008重新画
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,