在电影和电视中应尽量避免“跳跃分隔”的镜头画面,同样vb5软件设计时,窗体间切换时也应该做到平滑自然,这就是所说的“擦视技术”(wipe)。如何实现“擦视技术”,大家都会想到一个功能强大的api函数——位块传输bitblt( )函数,本文主要探讨以下两个问题:
(1)bitblt( )函数只能实现图像的位块传输,那么如何实现背景与控件界面一同擦视;
(2)调用bitblt( )函数需要传递一长串繁琐的参数,那么如何用一个通用过程将其模块化,使其通用性强,使用简单。
窗体中的控件虽然不能被擦视,但图像能实现,我们可以首先“拍”下要切换的两个窗体界面的图片,当需要擦视切换时,将一个载有该图片的过渡窗体show出来,在该窗体上实现擦视切换(以下给出了5种擦视方法),擦视完毕后将其hide,并将第二个窗体show出来,这样在视觉上毫无破绽,具体方法如下:
编写一个通用的wipe过程实现擦视
(1)在一个新工程中添加一个窗体,该窗体只含一个picturebox控件,属性设置如下:
对象 name autoredraw scalemode visible borderstyle
form frmwipe true 3---pixel 0---none
picturebox picresource true 3---pixel false
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器