问题:怎样用VB编写一个能够预览*.BMP的程序?
回答:VB提供了LoadPicture语句直接读取*.BMP文件,读入的图片可以使用PictureBox或ImageBox显示,所以编写一个能够预览*.BMP的VB程序是比较容易的。一般预览功能都是为了给用户在选择图片时提供便利,所以不可避免地要使用与目录、文件有关的控制。下面我们就通过一个小程序来展示一下预览*.BMP的程序的工作原理。首先,添加两个按钮、一个DirBox、一个DriveBox、一个FileBox和一个ImageBox(如图1)
图1预览*.BMP的程序的窗体
然后,如下表设置各控件的属性:
控件 |
属性 |
设置 |
Command1 |
Caption |
OK |
Command2 |
Caption |
Cancel |
Image1 |
Stretch |
True |
BorderStyle |
1 - Fixed |
|
File1 |
Pattern |
*.bmp |
Form1 |
Caption |
Bitmap Preview |
这里需要说明的是Image1的Stretch属性,这个属性设置为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这样优秀的软件。
现在,运行程序,就可以实现预览功能了。VB的LoadPicture还支持WMF、GIF、JPEG和图标文件,所以你可以将File1的Pattern属性设置为“*.bmp;*.jpg;*.gif;*.wmf;*.ico”,程序的预览功能会变得更强大。
如果您有任何建议,请给我发电子邮件:
。
版权所有 李海,热情软件屋 1997-2006