首页 目录页 热情软件屋 问专家

李海文选

用VB编写一个能够预览*.BMP的程序

李海

本文发表在99年6月7日《计算机世界报》21期

问题:怎样用VB编写一个能够预览*.BMP的程序?

回答:VB提供了LoadPicture语句直接读取*.BMP文件,读入的图片可以使用PictureBoxImageBox显示,所以编写一个能够预览*.BMPVB程序是比较容易的。一般预览功能都是为了给用户在选择图片时提供便利,所以不可避免地要使用与目录、文件有关的控制。下面我们就通过一个小程序来展示一下预览*.BMP的程序的工作原理。首先,添加两个按钮、一个DirBox、一个DriveBox、一个FileBox和一个ImageBox(如图1

预览*.BMP的程序的窗体

1预览*.BMP的程序的窗体

然后,如下表设置各控件的属性:

控件

属性

设置

Command1

Caption

OK

Command2

Caption

Cancel

Image1

Stretch

True

BorderStyle

1 - Fixed

File1

Pattern

*.bmp

Form1

Caption

Bitmap Preview

这里需要说明的是Image1Stretch属性,这个属性设置为True时,表示读入的图象自动按照ImageBox的大小进行缩放。

接下来,输入以下代码:

Private Sub Dir1_Change()

File1.Path = Dir1.Path

End Sub

Private Sub Drive1_Change()

Dir1.Path = Drive1.Drive

End Sub

Private Sub File1_Click()

Dim sPath As String

sPath = Dir1.Path

If Right(sPath, 1) <> "\" Then sPath = sPath + "\"

Image1.Picture = LoadPicture(sPath + File1.FileName)

End Sub

这里有一个细微之处需要注意:如果你选择的目录不是根目录,则Dir1返回的路径的末尾不带“\”号,如“C:\Win95”;而如果你选择的目录恰恰是根目录,则Dir1返回的路径的末尾将带“\”号,如“C:\”,所以我们在调用LoadPicture之前做了一下判断,以避免出错。这看起来很简单,但设计者经常会犯这样的错误,包括象Gif Gear 2.5这样优秀的软件。

现在,运行程序,就可以实现预览功能了。VBLoadPicture还支持WMFGIFJPEG和图标文件,所以你可以将File1Pattern属性设置为“*.bmp;*.jpg;*.gif;*.wmf;*.ico”,程序的预览功能会变得更强大。

回到《李海文选》目录

如果您有任何建议,请给我发电子邮件:
版权所有 李海,热情软件屋 1997-2006


WU Banner from WebUnion Chinese Network