右键弹出式菜单的时候提示必须至少有一个子菜单是咋回事,大家看看。。。
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
Me.PopupMenu FILE, 2 '运行到这个地方提示的
End If
End Sub
[解决办法]
没有子菜单你想弹什么出来?
[解决办法]
FILE那个位置是菜单顶层项的名字,必须确实有此菜单才能弹出啊
[解决办法]
将你的右键菜单file改个名试试
[解决办法]
请参阅:
PopupMenu 方法
用以在 MDIForm 或 Form 对象上的当前鼠标位置或指定的坐标位置显示弹出式菜单。不支持命名参数。
语法
object.PopupMenu menuname, flags, x, y, boldcommand
PopupMenu 方法的语法包含下列部分:
部分 描述
object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,则带有焦点的 Form 对象缺省为 object。
Menuname 必需的。要显示的弹出式菜单名。指定的菜单必须含有至少一个子菜单。
Flags 可选的。一个数值或常数,按照下列设置中的描述,用以指定弹出式菜单的位置和行为。
X 可选的。指定显示弹出式菜单的 x 坐标。如果该参数省略,则使用鼠标的坐标。
Y 可选的。指定显示弹出式菜单的 y 坐标。如果该参数省略,则使用鼠标的坐标。
boldcommand 可选的。指定弹出式菜单中的菜单控件的名字,用以显示其黑体正文标题。如果该参数省略,则弹出式菜单中没有以黑体字出现的控件。
设置值
用于 flag 的设置值有:
常数位置 值 描述
vbPopupMenuLeftAlign 0 (缺省值)。弹出式菜单的左边定位于 x。
vbPopupMenuCenterAlign 4 弹出式菜单的于 x 居中位。
vbPopupMenuRightAlign 8 弹出式菜单的右边定位于 x。
常数行为 值 描述
vbPopupMenuLeftButton 0 (缺省值)。 仅当使用鼠标左按钮时, 弹出式菜单中的项目才响应鼠标单击。
vbPopupMenuRightButton 2 不论使用鼠标右按钮还是左按钮, 弹出式菜单中的项目都响应鼠标单击。
说明
上述常数在对象浏览器中的 Visual Basic (VB) 对象库里列出。
可使用 ScaleMode 属性指定x和y坐标的度量单位。x 和 y 坐标定义弹出式菜单相对于指定窗体显示的位置。如果没有包括 x 和 y 坐标,则弹出式菜单就显示在鼠标指针当前的位置。
在显示弹出式菜单时,调用 PopupMenu 方法后面的代码直到用户或者从菜单中选择了命令(这时,该命令的 Click 事件的代码比 PopupMenu 语句后面的代码先执行)或者取消该菜单时才能执行。此外,每次只能显示一个弹出式菜单,因此,如果已经显示了一个弹出式菜单或打开了一个下拉式菜单时,该方法的其它调用将被忽略。