-
vb教程之使用VB设计具有动感的命令图标栏
张嵘
我们在使用Word、Excel等Windows应用程序时,经常会见到在程序界面顶端有一行“立体式”图标按钮。当用鼠标按下某一个图标按钮时,程序就执行相应的操作。这一行“立体式”图标按钮通常就称作命令图标栏或工具条。命令图标栏一般提供一些最常用的命令,供用户快速地取用,并且它设计时采用了“立体式”按钮,操作时会产生凹下去和凸出来的“动感”,笔者这里就谈谈如何用VB来建立具有“动感”的命令图标栏。
使命令图标具有“动感”是依靠对命令图标的不同状态的图像切换来获得的。当鼠标按下时,图标显示为凹入状态的图像;当松开时,图标显示为凸出状态的图像。通过图像切换就使命令图标具有了“动感”,具体设计步骤如下:
1。首先在窗体中创建一个图片框(Picture Box),将其Align属性置为1,使图片框固定在窗体上端,调节其宽度使其能安置图像或命令按钮。
2。在图标框内创建若干个图像框(Image Control),设置其Autosize=True,Picture属性在程序运行中设置。
3。编写程序代码。这里假设某个命令图标凸出状态的图像文件名为"zrup.bmp",凹入状态的图像文件名为"zrdown.bmp"。
窗体装入时:
Sub form-load()
Imagel.picture=Loadpicture("zrup.bmp") ’ 命令图标凸出
End sub
鼠标按下时:
Sub Imagel-mousedown(Button As Integer Shift As Integer, X As single,Y As single)
Imagel.picture=Loadpicture("zrdown.bmp") ’ 命令图标如下:
End sub
鼠标松开时:
Sub Imagel-mouseup(Button As Integer,Shift As Integer,X As single,Y As single) Imagel.picture=Loadpicture("zrup.bmp") ’ 命令图标凸出
End sub
以上只能使命令图标具备凹下去的功能,但当在按鼠标按钮不放,并拖曳鼠标使光标移到外头,原来图标仍然处于凹下状态。要使其自动凸起,就要编写如下代码:
Sub Imagel-mouseup(Button As Integer,Shift As Integer,X As single,Y As single)
Select Case Button
Case 1
If X$#@60;=0 or X$#@62;Imagel.Width or Y$#@60;=0 or Y$#@62;Imagel.Height then Imagel.picture=Loadpicture("zrup.bmp") ’凸出
else
Imagel.picture=Lo icture("zrdown.bmp") ’凹入
End if
End select
End sub
通过以上三步骤就可以建立具有“动感”的命令图标,若具有多个命令图标时,可通过创建图像控制数组来实现。BMP是常见的一种图像格式,也可以使用VB提供的丰富的不同状态的命令图标位图文件,它在VB的子目录\bitmaps\中。
我们在使用Word、Excel等Windows应用程序时,经常会见到在程序界面顶端有一行“立体式”图标按钮。当用鼠标按下某一个图标按钮时,程序就执行相应的操作。这一行“立体式”图标按钮通常就称作命令图标栏或工具条。命令图标栏一般提供一些最常用的命令,供用户快速地取用,并且它设计时采用了“立体式”按钮,操作时会产生凹下去和凸出来的“动感”,笔者这里就谈谈如何用VB来建立具有“动感”的命令图标栏。
使命令图标具有“动感”是依靠对命令图标的不同状态的图像切换来获得的。当鼠标按下时,图标显示为凹入状态的图像;当松开时,图标显示为凸出状态的图像。通过图像切换就使命令图标具有了“动感”,具体设计步骤如下:
1。首先在窗体中创建一个图片框(Picture Box),将其Align属性置为1,使图片框固定在窗体上端,调节其宽度使其能安置图像或命令按钮。
2。在图标框内创建若干个图像框(Image Control),设置其Autosize=True,Picture属性在程序运行中设置。
3。编写程序代码。这里假设某个命令图标凸出状态的图像文件名为"zrup.bmp",凹入状态的图像文件名为"zrdown.bmp"。
窗体装入时:
Sub form-load()
Imagel.picture=Loadpicture("zrup.bmp") ’ 命令图标凸出
End sub
鼠标按下时:
Sub Imagel-mousedown(Button As Integer Shift As Integer, X As single,Y As single)
Imagel.picture=Loadpicture("zrdown.bmp") ’ 命令图标如下:
End sub
鼠标松开时:
Sub Imagel-mouseup(Button As Integer,Shift As Integer,X As single,Y As single) Imagel.picture=Loadpicture("zrup.bmp") ’ 命令图标凸出
End sub
以上只能使命令图标具备凹下去的功能,但当在按鼠标按钮不放,并拖曳鼠标使光标移到外头,原来图标仍然处于凹下状态。要使其自动凸起,就要编写如下代码:
Sub Imagel-mouseup(Button As Integer,Shift As Integer,X As single,Y As single)
Select Case Button
Case 1
If X$#@60;=0 or X$#@62;Imagel.Width or Y$#@60;=0 or Y$#@62;Imagel.Height then Imagel.picture=Loadpicture("zrup.bmp") ’凸出
else
Imagel.picture=Lo icture("zrdown.bmp") ’凹入
End if
End select
End sub
通过以上三步骤就可以建立具有“动感”的命令图标,若具有多个命令图标时,可通过创建图像控制数组来实现。BMP是常见的一种图像格式,也可以使用VB提供的丰富的不同状态的命令图标位图文件,它在VB的子目录\bitmaps\中。
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比