龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

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

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
我们在使用Word、Excel等Windows应用程序时,经常会见到在程序界面顶端有一行“立体式”图标按钮。当用鼠标按下某一个图标按钮时,程序就执行相应的操作。这一行“立体式”图标按钮
我们在使用Word、Excel等Windows应用程序时,经常会见到在程序界面顶端有一行“立体式”图标按钮。当用鼠标按下某一个图标按钮时,程序就执行相应的操作。这一行“立体式”图标按钮通常就称作命令图标栏或工具条。命令图标栏一般提供一些最常用的命令,供用户快速地取用,并且它设计时采用了“立体式”按钮,操作时会产生凹下去和凸出来的“动感”,笔者这里就谈谈如何用VB来建立具有“动感”的命令图标栏。
  使命令图标具有“动感”是依靠对命令图标的不同状态的图像切换来获得的。当鼠标按下时,图标显示为凹入状态的图像;当松开时,图标显示为凸出状态的图像。通过图像切换就使命令图标具有了“动感”,具体设计步骤如下:
  1首先在窗体中创建一个图片框(PictureBox),将其Align属性置为1,使图片框固定在窗体上端,调节其宽度使其能安置图像或命令按钮。
  2在图标框内创建若干个图像框(ImageControl),设置其Autosize=True,Picture属性在程序运行中设置。
  3编写程序代码。这里假设某个命令图标凸出状态的图像文件名为"zrup.bmp",凹入状态的图像文件名为"zrdown.bmp"。
  窗体装入时:Subform-load()
  Imagel.picture=Loadpicture("zrup.bmp")'命令图标凸出
  Endsub
  鼠标按下时:SubImagel-mousedown(ButtonAsIntegerShiftAsInteger,XAssingle,YAssingle)
  Imagel.picture=Loadpicture("zrdown.bmp")'命令图标如下:
  Endsub
  鼠标松开时:SubImagel-mouseup(ButtonAsInteger,ShiftAsInteger,XAssingle,YAssingle)Imagel.picture=Loadpicture("zrup.bmp")'命令图标凸出
  Endsub
  以上只能使命令图标具备凹下去的功能,但当在按鼠标按钮不放,并拖曳鼠标使光标移到外头,原来图标仍然处于凹下状态。要使其自动凸起,就要编写如下代码:
  SubImagel-mouseup(ButtonAsInteger,ShiftAsInteger,XAssingle,YAssingle)
  SelectCaseButton
  Case1
  IfX<=0orX>Imagel.WidthorY<=0orY>Imagel.HeightthenImagel.picture=Loadpicture("zrup.bmp")'凸出
  else
  Imagel.picture=Loadpicture("zrdown.bmp")'凹入
  Endif
  Endselect
  Endsub
  通过以上三步骤就可以建立具有“动感”的命令图标,若具有多个命令图标时,可通过创建图像控制数组来实现。BMP是常见的一种图像格式,也可以使用VB提供的丰富的不同状态的命令图标位图文件,它在VB的子目录\bitmaps\中。->

精彩图集

赞助商链接