Visual Basic(以下簡稱VB)是Windows下的一個面向對象的可視 化開發環境,功能非常強大。下面筆者就自己在實際軟件開發過程中 獲得的一些經驗和大家作以交流。
提示鈕的實現
如果自己留心一點兒,一定注意到了Microsoft公司的一系列產品 (如Word、Excel甚至B 本身),都為其應用程序的命令按鈕提供了信息 。如用戶不清楚軟件中所列圖標按鈕的功能, 可將鼠標移至該圖標按 鈕上,過一會兒在其下方就會顯示一信息,說明它的作用,而鼠標移開 後,提示即消失。
圖1
這裡我們利用mousemove這一事件來實現。先將Label1.visible 設置為False再輸入以下代碼。
Private Sub Command1_MouseMove(Button As Integer,Shift As Integer,X As Single, Y As Single) Label1.Visible=True End Sub Private Sub Form_MouseMove(Button As Integer,Shift As In teger,X As Single, As Single) Labl1.Visible=False End Sub
若按鈕放在Frame中,則將Form_mousemove事件改為Frame_mousem ove即可,或干脆二者都寫。
背景設置
我們進行軟件設計時,功能實現當然是第一位的,但人機界面也絕 不容忽視。有時我們希望為其加一個比較漂亮的背景,且自始至終都 在屏幕上。我們可讓一窗體一直不釋放,但這樣效果並不好。VB提供 的MDI表單(Multiple Document Interface即多文檔界面)是一個包含 多個子表單的容器,是應用程序的背景表單。我們可插入一MDI表單( 選Insert、MDI Form即可),這樣就使應用程序具有了MDI功能。在MDI 窗體Picture屬性中加入想要的圖片,然後把其它表單的MDIChild屬性 設置為True,使它們成為MDI主菜單的子表單。一個應用程序只能有一 個MDI表單,但可有多個各不相同的非MDI子表單。這一點在Word、Exc el中都有體現。如Micrs oft Excel中包含工作表和圖表子菜單,作為 一些普通對話框的宿主。
Tab鍵與回車鍵
①用過VB的人一定知道,用文本框Text輸入時很不方便,因為VB本 身並不支持回車而自動跳到下一個控件。這一點可用Keypress事件來 解決。
Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii=13 Then text2.SetFocus 13是return鍵 End Sub
②另外,文本框在用戶按回車鍵時會發出蜂鳴聲,如何避免呢?輸 入以下代碼:
Private Sub Text eyPress(KeyAscii As Integer) If KeyAscii=13 Then KeyAscii=0 End If End Sub
即可避免。而且用戶按回車鍵常常有一定的目的——跳到下一個 控件,我們可讓Tab鍵模擬回車鍵,只要在Keyascii=0前回上一句sendk eys"{Tab}"即可。
快捷菜單的實現
利用鼠標右鍵彈出菜單功能簡單方便。如在Win95資源管理器中, 選中一文件目錄或文件後按右鍵即彈出一菜單,可選"發送"項,很方便 拷貝至A盤;Desktop上按右鍵亦可方便修改桌面屬性,這些都無疑極大 程度地方便了用戶。我們利用VB編程時,也可實現這一功能。在菜單 編輯器中定義好菜單文件後,對鼠標右鍵編寫對應的響應代碼即可(必 須有下一級菜單)。
Private Sub Form_MouseDown(Button As Integer,Shift As In
teger,X As Single, As Single)If Button=2 Then PopupMenu mhel
p
End Sub
若想原菜單不顯示在屏幕上,可將其Visible設為False(如本例中 為mhelp)。圖3
滾動條
筆者認為,VB4.0中提供的滾動條功能還不夠完善,過程控制都得 用戶自己去實現,如要用滾動條去控制文本框或標簽,我們可將其Inde x屬性改為0,利用數組控制下標來移動(如Tex( text).move X,Y),再 將其Visible作相應的改變即可。但如果開發程序較大、控制較多的 話,則需要把它們從內存中釋放(即Unload),為程序順利運行留下更多 的內存空間。此時需小心控制其下標以正確運行。
按鈕名的動態變化
由於桌面空間有限,我們不可能同時在一屏幕上放很多控件,否則 會顯得特別擁擠。但我們可從Foxpro Wizard開發的程序中得到啟示 。如"追加"按鈕揿下去後,即變為"存盤"或"放棄"。我們可將命令按 鈕的Caption(或Text)屬性變掉!如Command1的Caption開始設置為"追 加",輸入以下代碼:
Private Sub Command1_Click() If Command1.Caption="追加" Then Command1.Caption="存盤" …… ElseIf Command1.Caption="存盤" Then Command1.Caption="追加" …… End If
使用Windows本身提供的應用程序
在開發的實際應用程序中,我們可能要用到諸如計算機、書寫器 、畫筆等Windows提供的工具。要實現這一點其實很方便。如要使用 計算器,只要輸入以下代碼即可:
Private Sub Command1_Click() call=Shell("c:windowscalc.exe",1) 可修改對應路徑 、文件名 End Sub
這一點,如和上面提到的快捷菜單結合起來則實現