MouseDown、MouseUp 事件
發生於用戶按鍵時。 當使用者按下滑鼠按鈕時,就會發生 MouseDown;當使用者放開滑鼠按鈕時,就會發生 MouseUp。
語法
針對 MultiPage,TabStrip
Private Sub物件 _MouseDown (indexAs Long,
ByValButtonAs fmButton,
ByValShiftAs fmShiftState,
ByValXAs Single,
ByValYAs Single) Private Sub物件 _MouseUp (indexAs Long,
ByValButtonAs fmButton,
ByValShiftAs fmShiftState,
ByValXAs Single,
ByValYas Single)
針對其他控制件
Private Sub物件 _MouseDown ( ByValButtonAs fmButton,
ByValShiftAs fmShiftState,
ByValXAs Single,
ByValYAs Single) Private Sub物件 _MouseUp ( ByValButtonAs fmButton,
ByValShiftAs fmShiftState,
ByValXAs Single,
ByValYas Single)
MouseDown 和 MouseUp 事件語法具有下列部分:
部分 | 描述 |
---|---|
物件 | 必要。 有效物件。 |
index | 此為必要動作。 具有指定事件之 MultiPage 或 TabStrip 中頁面或索引標籤的索引。 |
Button | 此為必要動作。 整數值,識別造成事件的滑鼠按鈕。 |
Shift | 此為必要動作。 SHIFT、CTRL 和 ALT 的狀態。 |
X、Y | 此為必要動作。 水平或垂直位置,以點為單位,從窗體、 Frame 或 Page 的左邊緣或上邊緣開始。 |
設定
Button 的設定如下:
常數 | 值 | 描述 |
---|---|---|
fmButtonLeft | 1 | 按下左側按鈕。 |
fmButtonRight | 2 | 按下右鍵。 |
fmButtonMiddle | 4 | 按下中間按鈕。 |
Shift 的設定如下:
值 | 描述 |
---|---|
1 | 已按下SHIFT。 |
2 | 按下 CTRL。 |
3 | 已按下SHIFT和 CTRL。 |
4 | 已按下ALT。 |
5 | 已按下 ALT 和 SHIFT。 |
6 | 已按下 ALT 和 CTRL。 |
7 | 已按下 ALT、SHIFT 和 CTRL。 |
您可以使用下列常數來識別個別鍵盤修飾詞:
常數 | 值 | 描述 |
---|---|---|
fmShiftMask | 1 | 用來偵測 SHIFT 的遮罩。 |
fmCtrlMask | 2 | 用來偵測 CTRL 的遮罩。 |
fmAltMask | 4 | 用來偵測 ALT 的遮罩。 |
註解
如果是 MultiPage,當使用者在控件上按下滑鼠按鈕時,就會發生 MouseDown 事件。
針對 TabStrip,索引自變數會識別使用者按兩下的索引標籤。 -1 的索引表示使用者未按兩下索引標籤。例如,如果控件的右上角沒有索引標籤,按兩下右上角會將索引設定為 -1。
對於窗體,使用者可以藉由在窗體上的空白區域、記錄選取器或滾動條中按下並放開滑鼠按鈕,來產生 MouseDown 和 MouseUp 事件。
滑鼠相關事件的順序如下:
- MouseDown
- MouseUp
- 按一下
- DblClick
- MouseUp
MouseDown 或 MouseUp 事件過程會指定按下或放開滑鼠按鈕時所發生的動作。 MouseDown 和 MouseUp 事件可讓您區分滑鼠左鍵、右鍵和中間按鈕。 您也可以為使用 SHIFT、CTRL 和 ALT 鍵盤修飾詞的滑鼠鍵盤組合撰寫程式代碼。
如果在指標位於窗體或控件上方時按下滑鼠按鈕,該物件會「擷取」滑鼠,並接收到最後一個 MouseUp 事件為止的所有滑鼠事件。 這表示滑鼠事件傳回的 X、 Y 滑鼠指標座標不一定會在接收它們的物件界限內。
如果連續按下滑鼠按鈕,擷取滑鼠的物件會接收所有連續的滑鼠事件,直到所有按鈕都放開為止。
使用 Shift 自變數來識別發生 MouseDown 或 MouseUp 事件時的 SHIFT、CTRL 和 ALT 狀態。 例如,如果同時按下 CTRL 和 ALT,Shift 的值會是 6。
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。