图片可显示在 Visual Basic 应用程序的三种位置处:
图片可来自 Microsoft Windows 的各种绘图程序,例如,随同各种版本 Microsoft Windows 一起提供的那些绘图程序,其它图形应用程序,或剪切美术库等。Visual Basic 提供了一个大图标库,可在应用程序中作为图形使用。Visual Basic 也能象 .bmp、.dib、.ico、.cur、.wmf、.emf 等文件那样,把 .jpeg 和 .gif 文件添加到应用程序中。关于 Visual Basic 支持的图形格式,请参阅“使用 Visual Basic 的标准控件”中的“使用 Image 控件”和“使用 PictureBox 控件”。
根据是在设计时还是运行时,可采用不同途径把图片添加到窗体、图片框或图象控件中。
设计时添加图片有两种方法:
在“属性”窗口,从“属性”列表中选择“图片”,并单击“属性”按钮。Visual Basic 将显示一个对话框,从中可选择要加载的图片文件。
如果给窗体设置了 Picture 属性,选定的图片就会显示在窗体上,被放置在其上任何控件的后面。类似地,如果给图片框设置了 Picture 属性,则该图片就会显示在该框中,被放置在其上任何控件的后面。
把图片从另一个应用程序(例如 Microsoft Paint)复制到剪贴板上。返回 Visual Basic 环境中,选择该窗体,图片框或图象控件,然后从“编辑”菜单上,选择“粘贴”。
一旦为窗体,图片框或图象控件设置了 Picture 属性—无论是加载或粘帖图片—设置值框所显示的字,将是 "(Bitmap)","(Icon)",或 "(Metafile)"。为了改变此设置值,可加载或粘帖另一幅图片。双击设置值框内所显示的字,并按 DEL 键,可将 Picture 属性重新设置为 "(None)"。
运行时添加图片有四种方法:
下列语句将 Cars.bmp 文件加载到名为 picDisplay 的图片框内(通过设置其 Name 属性,可对一控件命名):
picDisplay.Picture = LoadPicture(“C:\Picts\Cars.bmp”)
任何需要的时候,都可加载一新图片到窗体上,图片框中或图象控件里。尽管图片的源文件不会受到影响,但加载的新图片将会完全替代正显示的图片。
下列语句将资源文件里资源标识号 ID 为 10 的位图,加载到名为 picResource 的图片框内:
Set picResource.Picture = LoadResPicture(10, _
vbResBitmap)
如果图片一旦被加载或粘帖到窗体、图片框或图象控件以后,那么运行时就可把它赋值给另一窗体,图片框或图象控件。例如,下列语句将把名为 picDisplay 图片框中的图片,复制到名为 imgDisplay 的图象控件内:
Set imgDisplay.Picture = picDisplay.Picture
详细信息 关于从剪贴板复制图片的详细内容,请参阅“在剪帖板上使用多种格式”。
关于资源文件的内容,请参阅“使用资源文件”中的“再论编程”。
注意 如果是在设计时从文件中加载或粘帖图片,则图片就和窗体一起被保存和加载,而应用程序可将图片从一个对象复制到其它对象。然后,在创建 .exe 文件时,就不必把此图片文件的备份提供给用户,因为 .exe 文件本身包含有它的图象。另外,可以考虑提供 .res 文件和使用 LoadResPicture。.res 文件将被编译到 .exe 文件中,而位图则以任何资源编辑器都可读的标准格式保存。如果要在运行时用 LoadPicture 函数加载图片,则必须把图片文件和应用程序一起提供给用户。
也可使用 LoadPicture 函数在运行时删除图片,而无须用其它图片替换它。下列语句是从名为 imgDisplay 的图象控件中删除图片:
Set imgDisplay.Picture = LoadPicture("")
如果窗体、图片框或图象控件被移动(设计时或运行时),则其上的图片也将自动地随它一起移动。如果窗体、图片框或图象控件调整大小后太小,容纳不下图片,则该图片将从右边和底部被裁剪。如果图片被加载或复制到那些因为过小而不能完整显示它的窗体、图片框或图象控件时,该图片也会被裁剪。
如果想让图片框能自动扩展到可容纳新图片的大小,可将该图片框的 AutoSize 属性设置为 True。这样,在运行时当往图片框加载或复制图片时,Visual Basic 会自动扩展该控件到恰好能够显示整个图片。由于窗体不会改变大小,如果加载的图象大于窗体的边距,图象经过裁剪后被显示出来。
也可以使用 AutoSize 属性使图片框自动收缩,以便对新图片的尺寸作出反应。
注意 图象控件没有 AutoSize 属性,但为了适应加载给它的图片的要求,可以自动调整大小。窗体没有 AutoSize 属性,并且也不能自动扩大以显示整个图片。
如果要使图象控件中的图片能自动扩展以适应特定的尺寸,可使用 Stretch 属性。当 Stretch 属性为 False 时,图象控件自动调整其大小以适应加载图片的要求。为了调整图片大小以适应图象控件的要求,可将图象控件的 Stretch 属性设置为 True。
从哪儿得到图片文件?如果想要图标,可用 Visual Basic 所提供的图标库。在 Visual Basic 主目录下的子目录 (\Vb\Graphics\Icons) 中,可查找图标文件。可用 Microsoft Paint 创建 .bmp 文件,或购买包括位图、图标文件、或元文件的剪帖美术集,还可以创建包含图片的资源 (.res) 文件。
详细信息 关于资源文件的内容,请参阅“使用资源文件”中的“再论编程”。