想在TEXT控件上弹出自己的右键菜单,但是先弹出的总是TEXT本身的。 这个方法是搜来的。
Private Sub txtNR_Mousedown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 2 Then txtNR.Enabled = False '屏蔽TEXT本身的右键菜单,但这个方法只有在Mousedown事件上才可以。 txtNR.Enabled = True frmEdit.PopupMenu mPop, 2 '弹出菜单 End If End Sub 为什么在MouseUp事件上就不行呢? 本问题第1个回答 鼠标按下先触发的是mousedown事件 然后才是mouseup事件 因为默认是在mousedown的事件下弹出text本身的右键菜单,还没到mouseup那, 所以你要在mousedown下禁用 本问题第2个回答 先感谢回复。 不过刚才试了下,Text本身的右键菜单是在松开鼠标时弹出的,应该是mouseup事件吧。 我猜是我做的菜单先出来,把本身的菜单屏蔽了。 禁用的方法我已经找到了,谢谢。 本问题第3个回答 VB6中的mousedown事件先于click事件,click事件先于mouseup,textbox右键菜单迟于mousedown,先于mouseup,相当于处于click位置(注并不是在click位置)。 本问题第4个回答 谢谢楼上详解,我终于明白了。 |
|
来自: 华灯初放l > 《visual basic 6.0》