admin 管理员组文章数量: 1086019
2024年3月27日发(作者:js图片特效脚本)
在VB中制作图标按钮的四种方法
2010-07-19 17:31
发信人: huanghm (东方不败), 信区: Program
标 题: VB 中图标按钮的制作
发信站: 深大荔园晨风站 (Tue Jan 13 11:11:08 1998), 转信
现在大多数Windows应用程序的功能都比较丰富,相应的菜单结
构也比较复杂。一些操作命令往往要打开好几层菜单。尤其是一些
常用的操作命令,因其使用较频繁,即使仅打开一层菜单,从中选择
一项也是比较麻烦的。因此现在绝大多数Windows应用程序中除了菜
单之外,还配备了工具栏。工具栏中有与常用菜单命令相对应的按
钮,按这些按钮的效果和选择菜单命令的效果完全一样。工具栏中
的按钮和普通按钮不同的是,它们不用文本字符串,而是用图标来
标明按钮的功能。这种图标按钮的好处是省地方,菜单命令往往比
较冗长,而工具栏提供的空间又十分有限。使用图标按钮最大的好
处还在于其直观形象性,这与Windows图形用户界面(GUI)方便用
户、简化操作的目标是一致的。
Windows系统提供的标准按钮(如OK、Cancel等)中只能显示文本
字符串。在VisualBasic(以下简称为VB)中,按钮是使用工具箱中的命
令按钮控件CommandButton来实现的。CommandButton使用的是Windows系
统提供的标准按钮控件,因而无法装入图标。下面介绍在VB中实现
图标按钮的几种方法。
一、使用标准控件实现图标按钮
VB的标准控件中,能够装入图形的只有Image(图像)
和PictureBox(图片框)两种。Image的功能较简单,占用系统资源较
少。PictureBox的功能很丰富,可以将它看作是Image的一个“超集”,
它占用的系统资源当然就要多一些。为了利用可装入图形的控件模
拟图标按钮的功能,首先应比较一下它们各自所能够接收到的事
件(如表1所示)。
表1中打勾(√)的表示该控件提供了相应的事件驱动过程接口,
打叉(×)的则表示该控件没有提供,控件不接收相应的事件。因为
是要模拟CommandButton的功能,所以Image和PictureBox的其它事件没有
列出。
CommandButton的事件ImagePictureBox
Click√√
DragDrop√√
KeyDown×√
KeyPress×√
KeyUp×√
LostFocus×√
MouseDown√√
MouseMove√√
MouseUp√√
表1Image和PictureBox与CommandButton中相同的事件
从表1中可以看出,PictureBox具有CommandButton中所有事件的接
口,因而可以完全模拟CommandButton的功能。CommandButton的某些事
件在Image中接收不到。对于一般应用来说,我们往往只
对CommandButton的Click事件过程编程,因此Image也可以用于模
拟CommandButton,而且能够满足大多数应用的需要。注意,在没有配
备鼠标的系统中,因为只能使用键盘作为输入设备,而Image又没有
键盘事件的接口,这时就只能用PictureBox了。
VB安装到硬盘上之后,在VB目录下提供了丰富的图形库。其中包
括位图(Bitmap,在BITMAPS子目录下)、图标(Icon,在ICONS子目录
下)和图元(Metafile,在METAFILE子目录下)。每种图形又按类分别
存储在不同的子目录下。在图标按钮的制作中,我们可以使
用BITMAPSTOOLBAR3子目录下的位图。该目录中存储了常用工具栏
中的按钮的位图,每种按钮一般有三个位图文件,分别对应按钮在
松开、按下和无效时的状态。例如,、
和分别对应剪切(cut)按钮在松开、按下和无效时的状
态。因此,我们可让按钮在松开时装入*-,按下时装
入*-,按钮无效时装入*-。可以编写如下的相应事件
过程代码(以PictureBox实现的剪切按钮为例):
SubPicture1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAs
Single)
e=LoadPicture("C:")
'按下鼠标按钮时,装入按钮被按下时的位图
EndSub
版权声明:本文标题:在VB中制作图标按钮的四种方法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1711496994a597006.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论