?--vb6.0转换到vb2008控件显示问题 本帖最后由 xa678 于 2011-08-14 08:54:38 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你应该搜索一下 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的资源管理没那么灵活,所以无法实现。只有挂在外面了 这里Exit Sub后,窗体是否会被重新加载到内存? 高分求助大虾 vb 初学,data 控件可以打开 access2000 的数据库吗? winsock问题 救急呀 大哥,大姐们 ■■高薪招聘VB程序员6000以上(要有项目经验VB+数据库) 谁有vb的精简板,还有帮助文件 怎样动态创建控件数组? vb与sql server 点击一个DBgrid表格,能设置打开或关闭输入法吗 VB中如何调用sqlserver2008的DTS,导入excel 十万火急!!!各位大哥、大姐:帮我解决一下用API录音的问题
比如你的程序编译后是“工程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的资源管理没那么灵活,所以无法实现。只有挂在外面了