MouseDown 事件

MouseDown 是三种鼠标事件中最常使用的事件。例如,在运行时可用它调整控件在窗体上的位置,也可用它实现某些图形效果。按下鼠标按钮时就可触发此事件。

注意 鼠标事件被用来识别和响应各种鼠标状态,并把这些状态看作独立的事件,不应将鼠标与 Click 事件和 DblClick 事件混为一谈。在按下鼠标按钮并释放时,Click 事件只能把此过程识别为一个单一的操作─ 单击操作。鼠标事件不同于 Click 事件和 DblClick 事件之处还在于,鼠标事件能够区分各鼠标按钮与 SHIFT、CTRL、ALT 键。

结合 Move 方法使用 MouseDown 事件

将 MouseDown 事件与 Move 方法联合起来使用就可将命令按钮移动到窗体的不同位置。鼠标指针的位置决定按钮的新位置:在单击窗体的任意位置(除控件所在处外)时控件将移动到光标位置。

单一过程 Form_MouseDown 将执行此操作:

Private Sub Form_MouseDown (Button As Integer, _
      Shift As Integer, X As Single, Y As Single)
   Command1.Move X, Y
End Sub

Move 方法将命令按钮控件的左上角放置在由 x 和 y 参数指出的鼠标指针位置。可修改此过程,以便将控件的中心放置在鼠标位置:

Private Sub Form_MouseDown (Button As Integer, _
      Shift As Integer, X As Single, Y As Single)
   Command1.Move (X - Command1.Width / 2), _
   (Y - Command1.Height / 2)
End Sub

结合 Line 方法使用 MouseDown 事件

在先前的绘制位置与鼠标指针的新位置之间画一条直线,由此,Click-A-Line 示例应用程序就对鼠标单击作出响应。这个应用程序中使用了 MouseDown 事件和 Line 方法。使用以下语法,Line 方法将绘制一条从上次绘制点到点 (x2, y2) 的直线。

Line – (x2, y2)

Click-A-Line 使用一个空窗体及一个过程─ Form_MouseDown:

Private Sub Form_MouseDown (Button As Integer, _
      Shift As Integer, X As Single, Y As Single)
   Line -(X, Y)
End Sub

第一条直线始于缺省起点,也就是左上角。因此无论何时,只要按下鼠标,应用程序就会绘制一条从先前直线到鼠标目前位置的直线。如图 11.1 所示,程序运行的结果是一系列连接的直线。

图 11.1 调用 MouseDown 后即绘制互相连接的直线

详细信息 请参阅“语言参考”的“MouseDown 事件”。