16,、如何避免程式重復(fù)執(zhí)行?(偵測是否存在前一副本,,若有,,則結(jié)束目前新啟動的程式) 使用者在啟動程式后,有時會將程式縮小在工作列上,,之后要用時,,又會重新啟動一次程式,資料庫程式有時會因此造成資料錯亂,! 若您不希望使用者重復(fù)啟動程式,,您可以使用 APP 物件來判斷,方法如下: Private Sub Form_Load() If App.PrevInstance Then ‘檢視前一版本 MsgBox "此程式已經(jīng)在執(zhí)行中!", 48 End End If End Sub
17,、如何讓一個 App 永遠保持在最上層 ( Always on Top ) 請在聲明區(qū)中加入以下聲明 Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Const SWP_NOMOVE = &H2 ‘不更動目前視窗位置 Const SWP_NOSIZE = &H1 ‘不更動目前視窗大小 Const HWND_TOPMOST = -1 ‘設(shè)定為最上層 Const HWND_NOTOPMOST = -2 ‘取消最上層設(shè)定 Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE
‘將 APP 視窗設(shè)定成永遠保持在最上層 SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS ‘取消最上層設(shè)定 SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS
18,、表單配置視窗和解析度 這個地方不是要告訴您如何寫出一支程式,會自動根據(jù)使用者熒幕的解析度調(diào)整 Form 及各控制項的大小,,也就是適用于各種解析 度的程式,。那是另一個主題! 由于我在集團式的公司資訊中心上班,,在我的開發(fā)過程中,,我的使用者依不同公司別,分成幾個族群,,有的公司都是使用 640x480 的解析度,,有的都用 800x600,設(shè)計公司則是 1024x768,,為了替這些公司開發(fā)軟件,,在 VB5.0 以前,寫各家公司的 程式以前就必須先調(diào)整熒幕的解析度 (否則在解析度 800x600 的電腦上開發(fā)的程式,,在 640x480 解析度的電腦中執(zhí)行時,,右方 和下方的畫面會跑出熒幕外面),有的電腦一改變解析度就必須重新開機,,更是麻煩,! VB5.0 以后,VB 多提供了一個功能,,就是【表單配置視窗】,,從此以后,您可以在高解析度的熒幕中,,開發(fā)低解析度的程式,,要 怎么做呢? 《假設(shè)您的電腦解析度是 1024x768》 很簡單,!在【表單配置視窗】上的熒幕上按滑數(shù)右鍵,,選擇【解析度】??吹搅藛?!在【表單配置視窗】上的熒幕上,出現(xiàn)了二個 虛線框,,上面各標(biāo)明了 640x480 及 800x600,。好了!現(xiàn)在您可以開始開發(fā)各種不同解析度的系統(tǒng)了,! 例如您要開發(fā)的系統(tǒng),,解析度是 640x480,,您只要注意不要讓您的表單超出 640x480 的虛線框就可以了!
|