说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

使用VB设计具有「动感」的命令图标栏

HTML文档下载 WORD文档下载 PDF文档下载
使用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<=0 or X>Imagel.Width or Y<=0 or Y>Imagel.Height then Imagel.picture=Loadpicture("zrup.bmp") '凸出
else
Imagel.picture=Loadpicture("zrdown.bmp") '凹入
End if
End select
End sub
通过以上三步骤就可以建立具有“动感”的命令图标,若具有多个命令图标时,可通过创建图像控制数组来实现。BMP是常见的一种图像格式,也可以使用VB提供的丰富的不同状态的命令图标位图文件,它在VB的子目录\bitmaps\中。
□山东 张嵘
“BlackBerry 10移动应用开发大赛”应用推荐 Java程序优化的一些最佳实践 Heka:Go编写,来自Mozilla,高效、灵活的插件式数据挖掘工具 Anchora鲁为民:PaaS是我的兴趣 次世代IDE Light Table 0.4发布 带来众多更新和改进 别再设计易碎的Web API! LinkedIn:55人支持2700位员工,2亿用户的大数据分析 Brian Krzanich是谁?这位新CEO预示英特尔未来怎样? HTML5开发者心声:浏览器兼容性成最大问题 传微软6月下旬将发布第二代Surface 7到9英寸全有 Turbulenz:HTML5 2D和3D游戏引擎开源 携程开放平台总经理夏天:内容+高转化率成就开发者 直接拿来用!最火的Android开源项目(一) Qunar 谌振宇:旅游行业的移动化如何布局? 大数据分析“铁三角”: Teradata数据仓库、Teradata Aster与Hadoop Teradata专业服务:打造行业企业的“数据科学家” Xamarin Evolve 2013:竭尽全力让C#服务iOS与Android 史上最全!57个Web框架4轮横向对比 回顾银行数据的可用性和一致性历史 Qubole:托管在AWS平台上的Hive服务 自由操作系统 Debian 正式发布7.0版本 4月份浏览器份额:IE 8仍居第一,IE 10翻番 亚马逊正式在华推Android应用商店 收入3:7分账 不要男孩,只允许女生参加的四所编程学校 下一波App机会在哪里? JS1K 2013优胜作品公布 3D蜜蜂仅获亚军 专访:前新浪网架构师徐佳转行卖水果背后的故事 FBI密码挑战,你能解开吗? 从0到1只需一天:Twitter后PC时代物联网“敏捷”开发之路的探索 机械生物已经面世 只少个“大脑”而已 百度正式宣布3.7亿美元收购PPS视频业务 DBGrid改变行的颜色 下载英文Windows的地址 我要在一個按鈕點擊后,開啟另外一個頁面,並且這個頁面自動處於打印預覽狀態,怎麼寫? 正在上升中,公司给自己加薪了,自己却突然心灰意冷. 我想问什么是temporary object?请高手指教 那位大哥在HP-UX下配置过PHP和ORACLE? 宝丽金120首金曲 Dialogs(wdDialogFileOpen)提示ActiveX不能创建对象? 那位朋友知道如何在网络上截取一个信息(数据包) 大家看过dvdrip的片子吗?有一个问题请问 (winform)我想编写一个简单的浏览器,问题1 在LINUX下如何安装软件啊? 苏州的朋友可以进来看看吗? 关于游标类型的问题 如何比较两幅近似图像并得出偏移的距离? 怎样处理鼠标拖动事件。 绘制图形时的自动滚屏问题 请教怎么去掉字符串后面带的空格? 请教关于双机通讯的问题,谢谢 播放问题 如何使用jsp显示数据库中的数据? 请问什么叫模态窗口啊? Win32标准dll,VB下调用问题 挑战:对手机短信文字自动解析? 推荐一个linux下的杀毒软件. 关于oicq? 二手笔记本多小钱? 关于在iis中的resin的配值问题,急,求帮助!!!! PHP中的类到底是怎么回事 怎么知道INI文件的某一个小节下有几个关键字? 不知道发在这里对不对。。。有关DVD 菜鸟级:关于两台都接了宽带的机子彼此可见的问题。请高手指教!谢谢! 我最近发现,我所喜欢的人,她不喜欢我了? 关于游标类型问题? 急!急!急!COMBOBOX问题!(在线等候!)! the problem of CButtonST 如何用java 做一个游戏? 只要有道理就有分! 中程要注册的吗? 大家帮我看看我得曲线重画代码错在那里阿????? 今天我生日,郁闷散分 如果一个项目延期了,你作为一个主管,应该怎么办? sorry,我想问的是怎么去掉字符串后面带的回车符? 请问下怎么编译通过CJLibrary? 是不是SQL server不支持table1.filter语句? vbscript里怎么设置弹出窗口的大小? 全套MCSE2000 BIBLE 是TESTKING的,要的进 怎么用VB编写DLL,请告知如何编写(举例)。 网络安全引发Checkpoint认证培训热 编程注册表--有高分相赠!(请教高手,多谢!) winfax 如何进入win2000
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘