• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

VB程序实现WindowsXP效果的界面!!

发布: 2007-6-21 21:57 | 作者:   | 来源:   | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网

   

     MILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">虽然WindowsXP的界面非常华丽。但是令人遗憾的是,我们用VB写的程序除了菜单和窗口的外观是XP风格外,其他控件还是一如既往的是普通风格。我想,有的程序在XP下有XP的风格,VB也一定有办法实现XP的风格。后来笔者在网上看到一篇介绍XML的文章,又在网上找到了一篇实现XP风格的文章,经过自己的实践,终于找到了VB程序实现XP风格的办法。为了使其他的网友不至于走像我这样的多的弯路,将此办法写出来,与大家共同提高!!

                                                                      作者:崔占民

EmailCuiZM@163.com

 

    具体的实现方法如下:

    ①:在你的窗体加入代码。如果是多个窗口,可以将此代码放到模块中。

 

    代码如下:

    '声明API函数

    Private Declare Sub InitCommonControls Lib "comctl32.dll" ()

    Private Sub Form_Initialize()

        InitCommonControls

    End Sub

    注意:千万不要在Form_load()事件下写InitCommonControls这句话,否则你的窗体会启动不了。(不要怪我没告诉你啊~~~~

 

    ②:建立一个和你的.exe同名的.exe.manifest文件(假如:如果你最后编译好的文件名为WindowXPStyle.exe,则建立一个文件名为WindowXPStyle.exe.manifest的文件),并且此文件必须存在于和你Exe文件的同一目录下。

 

    WindowXPStyle.exe为例,则这个WindowXPStyle.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="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>

 

    将以上内容保存为WindowXPStyle.exe.manifest。并且和执行文件放在一个目录下(一定要记住)。

   

    到此为止,我们的程序已经完成,不过在VB的设计环境下运行是看不到XP效果的。必须编译成可执行文件运行才可以。(因为这个我试了不知多少遍,以为VB程序就是实现不了XP效果呢~~,没想到必须编译成执行文件才可以)。

    运行效果如下图所示: 

  VB程序实现WindowsXP效果的界面!!(图一)

     相信大家也看到了不足之处,就是放在FRAME控件中的单远按钮有些“麻烦”!为了解决此问题,可以将单选按钮放在PICTURE控件中(以PICTURE控件作为容器),再将PICTURE控件放在FRAME控件中,就可以了。 

 

常见问题和注意事项

 

    由于VB6自身的原因,Windows XP再一次给我们留了一些难题:

 

    一、工具栏问题:工具栏控件一定要用Microsoft Windows Common Controls 5.0,而不要用Microsoft Windows Common Controls 6.0。因为此InitCommonControls API函数是位于comctl32.dllMicrosoft Windows Common Controls 5.0控件的动态链接库中)。

    二、图形风格按钮的问题:很遗憾,我们不能再使用Graphical风格的命令按钮(即Style=1的命令按钮控件)了。因为一旦将命令按钮的Style属性设为1,那么它将失去Windows XP风格。

    只要注意以上几点,并采取相应的措施,VB编写的程序在Windows XP中看上去还是很华丽的!如下图所示:

 VB程序实现WindowsXP效果的界面!!(图二)

    注:其它语言写的程序也是一样,实现起来不会有VB这么多的问题。如DELPHIVC等,连API函数都可以直接使用,不用事先声明。相对来说更简单!

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网