Board logo

标题: [基础] 如何在菜单上建立右键弹出菜单???? [打印本页]

作者: 只爱陌生人    时间: 2006-10-5 15:53     标题: 如何在菜单上建立右键弹出菜单????

如题:菜单项只有一个Click()事件,在这里只能响应鼠标左键的点击。如果希望在菜单项上单击鼠标右键可以弹出菜单,这该怎么实现???
作者: Nothing    时间: 2006-10-5 19:43

这个比较难,不能使用菜单来实现,需要制作一下窗体来实现。
作者: 只爱陌生人    时间: 2006-10-5 21:56

看来只能用标准控件模拟了。
另一个相关的问题:如果用label 控件模拟,当鼠标移动到label上时,label的形状改变(就像菜单那样),我用form_mouseMove()事件来做,发现当鼠标真正移动到label内时,在这个事件里根本不能得到x,y (移到其它控件上也是一样)。当在label_MouseMove()事件里时,又不能检测到鼠标移出。要是VB里有MOuseOver()事件就好了。

PS:mouseOver事件已解决。如下
Private Declare Function SetCapture Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function ReleaseCapture Lib "user32" () As Long

Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
     Dim mouseOver As Boolean
    mouseOver = (X > 0 And X < Picture1.Width) And (Y > 0 And Y < Picture1.Height)
    If mouseOver Then
        SetCapture Picture1.hWnd
        Picture1.BorderStyle = 1
    Else
        ReleaseCapture
        Picture1.BorderStyle = 0
    End If
End Sub

[ 本帖最后由 只爱陌生人 于 2006-10-5 22:14 编辑 ]
作者: Nothing    时间: 2006-10-6 14:29

呵呵,只能用API来解决了。




欢迎光临 编程开发论坛 (http://bbs.lihuasoft.net/) Powered by Discuz! 6.0.0