当前位置 - 股票行情交易網 - 股票行情 - VB事件的鼠標事件

VB事件的鼠標事件

鼠標事件是Visual Basic編程中最常用到的事件,多數控件都支持鼠標操作,因此對鼠 標事件進行編程是非常重要的。

鼠標事件主要有以下幾種:

Click:單擊事件,即單擊鼠標時發生的事件。

DblClick:雙擊事件,即雙擊鼠標時發生的事件。

MouseDown:鼠標按下時發生的事件。

MouseUp:鼠標擡起時發生的事件。

MouseMove:鼠標移動時發生的事件,對某控件的此事件進行編程,則當鼠標移過此控件時就會觸發此事件,執行其相應代碼。

鼠標事件的發生順序是:

(1)首先發生的是MouseMove事件,當鼠標移動時,將會連續觸發MoouseMove事件。

(2)當鼠標按下時發生MouseDown事件。

(3)鼠標松開時發生MouseUp事件。

(4)如果按住的是鼠標左鍵,則Click事件在MouseUp之後發生。

雙擊鼠標時事件發生順序是:

(1)當鼠標按下時發生MouseDown事件。

(2)鼠標松開時發生MouseUp事件。

(3)單擊鼠標發生Click事件。

(4)雙擊鼠標發生DblClick事件。

(5)完成鼠標雙擊時發生MouseUp事件。

在上面所列出的這些事件中,最常用到的就是Click事件和DblClcik事件,MouseMove和 douseUp事件不太經常用,壹般用在需要對鼠標進行處理的地方。如:對於最常見的命令按鈕,通常情況下我們使用Click事件;而在進行畫圖的時候, 例如畫壹條直線,必須先按住鼠標左鍵,然後拖動鼠標,再松開鼠標。在此過程中,首先觸發MouseDown事件,我們可以在此事件中記錄鼠標的開始位置, 再對MouseUp事件進行編程,以記錄鼠標的結束位置;其中還要對MouseMoove事件進行編程,以在移動過程中進行處理畫圖操作,而不是 Click或DblClick事件。

鼠標的單擊事件定義如下:

Sub Click()

End Sub

雙擊事件定義如下:

Sub DblClick()

End Sub

對於MouseDown和MouseUp事件,它們的定義要復雜的多。對於MouseUp事件,其定義如下:

Private Sub Labell _MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

End S

在上面的參數中,Button As Integer定義了參數Button,該參數是用於確定按下的是鼠標的左鍵,右鍵,還是中鍵,其取值如下表所示。

常量數值 說明

VbleftButton1 按下鼠標左鍵

VbRightButton 2 按下鼠標右鍵

VbMiddleButton4 按下鼠標中鍵

Shift As Integer定義整型參數Shift,該參數用於確定鍵盤上Shift鍵、Ctrl鍵、Alt 鍵是否被按下,其取值如下表所示。 常量 數值 說明 VbShiftMask 1 按下Shift鍵 VbCtrlMask 2 按下Ctrl鍵 VbAltMask 4 按下Alt鍵 要判斷是哪個鍵被按下了,要由相應的程序代碼來完成。如:

Private Sub Labell MouseUp(Button AS Integer,Shift As Integer,X aS Sing , Y as Single)

If Button=VbRightButton Then

Msgbox(“妳按下去的是鼠標右鍵”)

End If

End Sub

此段代碼在鼠標擡起時執行,程序中用If條件判斷語句來判斷究竟是哪個鍵被按

當Button=VbRightButton成立時,即鼠標右鍵被按下,這時可以執行相應的操作。

Private Sub Labell MouseUp(Button As Integer,Shift As Integer,X as Sin2 Single)

If Shift=2 Then

Msgbox(“單擊鼠標時Ctrl鍵被按下”)

EndIf

End Sub

這段代碼在執行過程中判斷當鼠標擡起時鍵盤上哪個鍵被按了下去。如上表說明,當Shift值為2時,表示Ctrl鍵被按了下去。

由上面的例子可以看出我們可以對鼠標進行壹些判斷,然後執行壹些特殊操作,但用起來通常比較麻煩。