我們在使用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\中。->