不明白VB的一段语句,望解释一下

来源:百度知道 编辑:UC知道 时间:2024/09/20 11:53:29
Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
PopupMenu FON, 4 Or 2
End If

这是Text1控件的鼠标点击事件。
如果是右键点击,那行XXXX

PopupMenu好像是一个菜单,后面是属性

mousedown事件捕获鼠标的按下,下面有几个参数,button代表是按下了哪个按键,shift表示是否按下了shift键,X代表鼠标所在的X轴坐标,Y代表Y轴坐标。
如果按下了右键(button=2) 就
弹出菜单 fon
(vbPopupMenuLeftAlign 0 (缺省值)。弹出式菜单的左边定位于 x。
vbPopupMenuCenterAlign 4 弹出式菜单的于 x 居中位。
vbPopupMenuRightAlign 8 弹出式菜单的右边定位于 x。
vbPopupMenuLeftButton 0 (缺省值)。 仅当使用鼠标左按钮时, 弹出式菜单中的项目才响应鼠标单击。
vbPopupMenuRightButton 2 不论使用鼠标右按钮还是左按钮, 弹出式菜单中的项目都响应鼠标单击。
以上几个参数是4或者2那个参数的意义)

作者直接将常量写成了数值,不容易理解

If Button=2
实际是: If Button=vbRightButton'意为如果按下了鼠标右键

PopupMenu FON, 4 Or 2
实际上是:PopupMenu FON, vbPopupMenuCenterAlign Or vbPopupMenuRightButton'意为,弹出菜单FON,样式为弹出式菜单的于 x 居中位 或 不论使用鼠标右按钮还是左按钮, 弹出式菜单中的项目都响应鼠标单击。