用VB實(shí)現(xiàn)編程離不開函數(shù)調(diào)用及Windows API函數(shù)的調(diào)用,以下是筆者收集的一些實(shí)用的小例程,它們可以直接用在你的實(shí)際編程中,也可以根據(jù)實(shí)際應(yīng)用加以擴(kuò)充完善。其中涉及Windows API函數(shù)調(diào)用的代碼你可以從VB5.0系統(tǒng)的API函數(shù)查看器中復(fù)制函數(shù)定義內(nèi)容,以避免出錯(cuò)。
1.系統(tǒng)型表單
系統(tǒng)型意味著用戶完成當(dāng)前表單操作之前無法進(jìn)行其它操作,這對于編制系統(tǒng)口令保護(hù)界面尤為重要。如果你希望當(dāng)前表單系統(tǒng)型表單,需如下定義API函數(shù):
Declare Function SetSysModalWindow Lib "User" (ByVal hWnd As Integer) As Integer
然后調(diào)用:oldSysModal = SetSysModalWindow([Form].hWnd)
2.獲取驅(qū)動(dòng)器類型
代碼如后:
Declare Function GetDriveType Lib “Kernel" (ByVal nDrive As Integer) As Integer Global Const DRIVE_REMOVEABLE% = 2, DRIVE_FIXED% = 3 Global Const DRIVE_REMOTE% = 4
3.表單在對中
本子程序功能使表單定位在屏幕中央,在表單中任何需要表單對中的地方只需加入一行代碼:
“centerwindow.me”即可成功調(diào)用。
Public Sub CenterWindow(f As Form) f.Top = (Screen.Height * .5) - (f.Height * .5) f.Left = (Screen.Width * .5) - (f.Width * .5) End Sub
4. 定義變量
許多的程序員習(xí)慣于如下定義變量:
Dim iNum, iNextNum, iLastNum as Integer
實(shí)際上只有最后一個(gè)變量被設(shè)為了整型,前兩個(gè)變量則是系統(tǒng)的缺省的Variant 數(shù)據(jù)類型,而Variant 數(shù)據(jù)類型可用來替換任何數(shù)據(jù)類型,顯然對于精練的程序設(shè)計(jì)是不利的。 正確的方法如下:
Dim iNum as Integer Dim iNextNum as Integer Dim iLastNum as Integer
5. 使文本高亮
本子程序使被觸發(fā)的諸如文本,標(biāo)簽等控件的文本被選中
Public Sub SetSelected() Screen.ActiveControl.SelStart = 0 Screen.ActiveControl.SelLength = Len(Screen.ActiveControl.Text) End Sub
6. 關(guān)閉其它程序
下面的代碼可關(guān)閉內(nèi)存中的其它程序
title = "MyAPP" '定義你需關(guān)閉的程序窗口的標(biāo)題
ihWnd = findWindow(0&, Title) ihTask = GetWindowTask (ihWnd) iRet = PostAppMessage(ihTask, WM_QUIT, 0, 0&)
7. 文件存在否?
本函數(shù)返回查找的文件是否存在。
Function FileExist(Filename as string) as Boolean FileExist = Iif(Dir(Filename) <> "", True, False) End Function
8. 主程序唯一
用下面提供的代碼作你的主程序可防止應(yīng)用程序的多重執(zhí)行,你應(yīng)當(dāng)將它放在確信需要它的代碼模塊內(nèi)。
Public Sub Main() If App.PrevInstance Then BringWindowToTop frmMain.hwnd Else Load frmMain End If End Sub
上面這些精悍的代碼對于專業(yè)程序員來說非常有實(shí)用價(jià)值,希望你能從中獲得啟發(fā)。
|