凡是用過WINDOWSOFFICE的用戶,都非常熟悉這種情況,把鼠標移到這個圖標的按鈕上,不一會兒在這圖標的下方會顯示一些簡短的文字,說明這個圖標按鈕的作用。筆者在工作實踐中,用VB實現了上述功能,同時為了使圖標按鈕更具動感,筆者將圖標按鈕設計成浮動式圖標按鈕,即當鼠標移到圖標按鈕上方時,按鈕會自動下沉;鼠標一離開按鈕上方時,按鈕又會自動浮起來。
1.建立含有如下控件的窗體:
控件NAME
CAPTIONVISIBLEBEVELWIDTH
窗體BOTTON-DEMO浮動式圖標按鈕演示程序'程序窗口
3D命令按鈕COMMAND3D11'作為按鈕的陰影,大小與按鈕一致
3D命令按鈕COMMAND3D23'該按鈕與陰影稍微錯位疊加
標簽LABEL1
FALSE'顯示圖標按鈕作用的文字
2.定義兩個整型變量,用來存儲按鈕左上角坐標。
(1)在目標文件列表(OBJECT)中選擇GENERAL,在過程列表(PROC)中選擇DECLARATIONS(聲明),系統進入窗體級代碼的定義窗口中。
輸入下列定義:
Dimcomm2-x,comm2-yAsInteger
(2)雙擊窗體,進入窗體裝入事件代碼窗口:
SUBFORM-LOAD()
COMM2-X=COMMAND3D2.LEFT
COMM2-Y=COMMAND3D2.TOP
COMMAND3D2.Picture=LoadPicture("C:\FPW26\FOX.BMP)'裝入圖片
ENDSUB
3.當鼠標移到按鈕上方時,使用MOVE將按鈕固定放在其原來位置的右下方。由於事先已繪制好按鈕的陰影,所以在視覺上就有按鈕往下沉的感覺,同時激活標簽顯示該圖標按鈕作用的文字。
雙擊圖標按鈕,進入命令按鈕MOUSEMOVE事件代碼窗口:
SubCommand3D2-MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
command3D2.Movecomm2-x+9,comm2-y+9
LABEL1.BorderStyle=1
LABEL1.BACKCOLOR=&H0000FFFF&'顯示文字的標簽框底色為黃色
LABEL1.Visible=True
LABEL1.CAPTION=“演示”
EndSub
4.當鼠標一離開按鈕時,就將按鈕固定在其原來位置上,就可造成按鈕上浮的視覺效果,同時關閉標簽變量的顯示。
雙擊窗體,進入窗體MOUSEMOVE事件代碼窗口:
SubForm-MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
command3D2.Movecomm2-x,comm2-y
LEABEL1.Visible=False
EndSub
以上程序在ASTPIII+4/66D上,中文WINDOWS3.2,VISUALBASIC3.0FORWINDOWS環境下運行通過。->