虽然WindowsXP的界面非常华丽。但是令人遗憾的是,我们用VB写的程序除了菜单和窗口的外观是XP风格外,其他控件还是一如既往的是普通风格。我想,有的程序在XP下有XP的风格,VB也一定有办法实现XP的风格。后来笔者在网上看到一篇介绍XML的文章,又在网上找到了一篇实现XP风格的文章,经过自己的实践,终于找到了VB程序实现XP风格的办法。为了使其他的网友不至于走像我这样的多的弯路,将此办法写出来,与大家共同提高!!
代码如下:
'
声明API函数
②:
建立一
个和你的.exe
同名的.exe.
manifest
文件(
假如:
如果你最后编
译好的
文件名为WindowXPStyle.exe,则
建立一个文件
名为WindowXPStyle.exe.manifest
的文件),
并且此文件
必须存在于
和你Exe
文件的同一
目录下。
<?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="CompanyName.ProductName.YourApp"
type="win32"
/>
<description>Your application description here.</description>
<dependency>
<dependentAssembly>
<
assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
到此为止,
我们的程序已经
完成,不过在
VB的设计
环境下运
行是看不到
XP效果的。
必须编译成可执行文
件运行才可以。(
因为这个我试了不
知多少遍,以为
VB程
序就是实现不了
XP效果呢~~,
没想到必须编译
成执行文件才
可以)。
运行效
果如下图所示:
相信大家
也看到了不
足之处,
就是放在FRAME
控件中的
单远按钮有些“麻烦”!
为了解决此问题,
可以将单选
按钮放在PICTURE
控件中(以PICTURE
控件作为容器),再将PICTURE
控件放在FRAME
控件中,就可以了。
常见问题和
注意事项
一、工具栏问题:工具栏控件一定要用Microsoft Windows Common Controls 5.0,而不要用Microsoft Windows Common Controls 6.0。因为此InitCommonControls API函数是位于comctl32.dll(Microsoft Windows Common Controls 5.0控件的动态链接库中)。
二、
图形风格按钮的问题:
很遗憾,
我们不能再使用Graphical风格的
命令按钮(即Style=1的命令按钮控件)了。
因为一旦将命
令按钮的Style
属性设为1,
那么它将失去Windows
XP风格。