BeforeDragOver 事件
發生于拖放作業進行時。
語法
針對 Frame
Private Sub物件 _BeforeDragOver ( ByValCancelAs MSForms.ReturnBoolean,
ctrlAs Control,
ByValDataAs DataObject,
ByValXAs Single,
ByValYAs Single,
ByValDragStateAs fmDragState,
ByValEffectAs MSForms.ReturnEffect,
ByValShiftAs fmShiftState)
針對 MultiPage
Private Sub物件_BeforeDragOver (indexAs Long,
ByValCancelAs MSForms.ReturnBoolean,
ctrlAs Control,
ByValDataAs DataObject,
ByValXAs Single,
ByValYAs Single,
ByValDragStateAs fmDragState,
ByValEffectAs MSForms.ReturnEffect,
ByValShiftAs fmShiftState)
針對 TabStrip
Private Sub物件_BeforeDragOver (indexAs Long,
ByValCancelAs MSForms.ReturnBoolean,
ByValDataAs DataObject,
ByValXAs Single,
ByValYAs Single,
ByValDragStateAs fmDragState,
ByValEffectAs MSForms.ReturnEffect,
ByValShiftAs fmShiftState)
針對其他控制項
Private Sub物件 _BeforeDragOver ( ByValCancelAs MSForms.ReturnBoolean,
ByValDataAs DataObject,
ByValXAs Single,
ByValYAs Single,
ByValDragStateAs fmDragState,
ByValEffectAs MSForms.ReturnEffect,
ByValShiftAs fmShiftState)
BeforeDragOver事件語法包含下列部分:
部分 | 描述 |
---|---|
物件 | 此為必要動作。 有效的物件名稱。 |
index | 此為必要動作。 MultiPage中拖放作業將影響的Page索引。 |
Cancel | 此為必要動作。 事件狀態。 False 表示控制項應該處理事件 (預設) 。 True 表示應用程式處理事件。 |
Ctrl | 此為必要動作。 要拖曳的控制項。 |
資料 | 此為必要動作。 拖放作業中拖曳的資料。 資料會封裝在 DataObject 中。 |
X、Y | 此為必要動作。 控制項位置的水準和垂直座標。 這兩個座標都是以點為單位來測量。 X 是從控制項的左邊緣測量; Y 是從 控制項的頂端測量而來。 |
DragState | 此為必要動作。 正在拖曳之資料的轉換狀態。 |
Effect | 此為必要動作。 卸 除來源支援的作業。 |
Shift | 此為必要動作。 指定 SHIFT、CTRL 和 ALT 的狀態。 |
設定
DragState的設定如下:
常數 | 值 | 描述 |
---|---|---|
fmDragStateEnter | 0 | 滑鼠指標位於目標範圍內。 |
fmDragStateLeave | 1 | 滑鼠指標超出目標的範圍。 |
fmDragStateOver | 2 | 滑鼠指標位於新的位置,但會保持在相同目標的範圍內。 |
Effect的設定如下:
常數 | 值 | 描述 |
---|---|---|
fmDropEffectNone | 0 | 不會將置放來源複製或移動到置放目標。 |
fmDropEffectCopy | 1 | 將置放來源複製到置放目標。 |
fmDropEffectMove | 2 | 將置放來源移至置放目標。 |
fmDropEffectCopyOrMove | 3 | 將置放來源複製或移動至置放目標。 |
Shift的設定如下:
常數 | 值 | 描述 |
---|---|---|
fmShiftMask | 1 | 已按下 SHIFT。 |
fmCtrlMask | 2 | 按下 CTRL。 |
fmAltMask | 4 | 已按下 ALT。 |
註解
使用此事件來監視滑鼠指標,因為它會直接進入、離開或停留在有效的 目標上。 進行拖放作業時,系統會在使用者移動滑鼠時起始此事件,或是按下或放開滑鼠按鍵或按鈕。 滑鼠指標位置會決定接收此事件的目標物件。 您可以檢查 DragState 引數來判斷滑鼠指標的狀態。
當控制項處理此事件時,您可以使用 Effect 引數來識別要執行的拖放動作。
當 Effect 設定為 fmDropEffectCopyOrMove時,卸載來源支援 複製 (fmDropEffectCopy) 、移動 (fmDropEffectMove) ,或取消 (fmDropEffectNone) 作業。
當 Effect 設定為 fmDropEffectCopy時,卸載來源支援複本或取消 (fmDropEffectNone) 作業。
當 Effect 設定為 fmDropEffectMove時,置放來源支援移動或取消 (fmDropEffectNone) 作業。
當 Effect 設定為 fmDropEffectNone時,置放來源支援取消作業。
大部分的控制項都不支援拖放,而 Cancel 是 False,這是預設設定。 這表示控制項會拒絕在控制項上拖放任何動作的嘗試,而且控制項不會起始 BeforeDropOrPaste 事件。 TextBox和ComboBox控制項是這個 的例外狀況;即使Cancel為False,這些控制項仍支援拖放作業。
另請參閱
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。