使用快捷菜单

给控件指定快捷菜单

如果希望右击某个控件,能弹出一个快捷菜单,可以先设计一个快捷菜单,将其指定给此控件。
例如要给控件TextBox1指定快捷菜单,可以在窗口的AfterLoad事件加上代码:

e.Form.Controls("TextBox1").ContextStrip = e.Form.Strips("快捷菜单1")

在指定位置显示快捷菜单

所有控件都有一个ShowContextStrip方法,用于在该控件的指定位置显示指定的快捷菜单,语法为:

ShowContextStrip(x,y,Strip)

x:     水平位置,控件左上角为原点。
y:     垂直位置,控件左上角为原点。
Strip: 要显示的快捷菜单。

例如窗口中有一个按钮,希望单击这个按钮,能出现一个快捷菜单:

可以将该按钮的Click事件代码设置为:

With e.Sender
    .ShowContextStrip(0, .Height, e.Form.Strips("快捷菜单1"))

End
With

模拟SplitButton

假定希望做一个下图所示的按钮,单击按钮左侧直接增加一行,单击按钮右侧则显示一个菜单,用于选择是增加一行还是增加多行:

为实现这样的功能,我们可以设计两个并排的按钮,左侧按钮用于增加行,右侧按钮用于弹出下来菜单,由于两个按钮紧挨在一起,实际使用的时候看起来就像是一个按钮的两个分区。

给Table指定快捷菜单

假定窗口中有一个名为Table1的Table控件,希望在窗口中重新设计一个快捷菜单,代替系统默认的快捷菜单。
首先我们要取消系统默认的快捷菜单,在对应的表事件BeforeShowContextMenu加上代码:

e.Cancel = True

然后在窗口的AfterLoad事件中加上代码:

e.Form.Controls("Table1").ContextStrip = e.Form.Strips("快捷菜单1")


本页地址:http://www.foxtable.com/webhelp/topics/3116.htm