Windows操作平台設有一個螢幕的保護措施,即螢幕保護裝置功能。經常在Windows操作平台上使用電腦的人們對系統提供給我們的幾個螢幕保護裝置程式是不是感到非常平常了,沒有新鮮感了,是不是想自己設計螢幕保護裝置程式。下面介紹如何利用VB設計使用者自己的螢幕保護裝置程式。螢幕保護裝置程式可以保護顯示屏不被損壞,同時節約能源。作為螢幕保護裝置程式,應該具有如下特性:
1)螢幕保護裝置程式運行時,滑鼠游標被自動隱藏,在程式結束時,游標顯示。2)當單擊、移動滑鼠或按下鍵盤時,螢幕保護裝置結束,回到正常操作狀態。為了實現這些特性,在編寫VB應用程式時,可以採用如下方法:
1、改變表單內容通常VB應用程式的表單都採用有邊框的表單外觀,但作為螢幕保護裝置程式,應設定表單為無邊框,且為最大化。
2、隱藏及顯示滑鼠游標在Visual Basic應用程式中隱藏及顯示滑鼠游標需要運用Windows的API函數,該函數名為ShowCursor。當用參數值True調用時顯示滑鼠游標,當用參數值False調用時,滑鼠游標自動隱藏。
3、檢測滑鼠移動VB中有一個檢測滑鼠移動的對象事件MouseMove事件。MouseMove事件通常在應用程式啟動時就會觸發,有時在滑鼠並未移動的情況下,MouseMove事件仍有可能被觸發。因此如果在程式中直接用MouseMove事件檢測滑鼠是否發生了移動,並不能正確反映滑鼠的移動狀況。應該在MouseMove事件中編寫代碼加以控制。
為了正確反映滑鼠的移動,先用變數記錄下程式運行時的滑鼠當前位置,然後用另外一組變數記錄滑鼠移動後的位置,當滑鼠移動前後的位置差大於一定範圍時,觸發MouseMove事件。編寫代碼如下:
Private Sub Form-MouseMove(Button As Integer,shift As Inteqer,X As Single,Y As Single)
Static currentX,currentY As Single
Dim orignX,orignY As Single
’把當前的滑鼠值賦給orignX和orignY
orignX=X
orignY=Y
’初始化currentX和currentY
if currentX=0 and currentY=0 Then
currentX=orignX
currentY=orignY
Exit Sub
Endif
’當滑鼠移動大於一個象素時,顯示滑鼠游標並退出程式
If Abs(oriqnX-currentX)>1 or Abs(orignY-currentY)>1Then
X=ShowCursor(True)
End
Endif
EndSub
4、檢測按一下滑鼠在Visual Basic中,單擊事件是由“Click”觸發的。當螢幕保護裝置程式運行時遇到單擊事件,則程式運行終止。代碼編輯如下:
Private Sub Form-Click()
X=ShowCursor(True)
End
EndSub
注意在結束之前先設游標的顯示為真,以免在程式結束後丟失游標。
5、檢測鍵盤上各按鍵的狀態Visual Basic中的鍵盤活動由KeyDown觸發。代碼與單擊事件的代碼一樣。
Private Sub Form-KeyDown(KeyCode As Integer,Shift As Integer)
X=ShowCursor(True)
End
EndSub