编程学习biancheng.45soft.com 本站提供了各种在线教程和资料,供大家学习与参考.
编程学习
当前位置: 主页 > VB6 > 界面设计 > VB6 界面设计 弹出菜单

VB6 界面设计 弹出菜单

弹出菜单也称为快捷菜单,上下文菜单


它是显示在窗体上的浮动菜单,操作时使用右键,菜单的出现与鼠标位置有关。设计弹出式菜单与普通菜单类似(都是使用菜单编辑器),将打算在顶部出现的菜单的顶层菜单的可见框(Visible属性)设置为False,而其下的每个菜单项的Visible属性仍要设置为True,这样设计出的菜单就可作为弹出菜单了。


要显示弹出菜单时使用PopupMenu方法(该方法忽略Visible属性的设置)即可。


PopupMenu方法的使用形式:

[对象.]PopupMenu 菜单名, 标志, x, y

标志(flags)参数用于进一步定义弹出菜单的位置和性能,表示弹出的位置和触发的键。x,y可以是按下鼠标按钮时的x,y值(默认),也可以指定一个有效的x,y值。格式中参数,除了菜单名外,其它都是可选的。


标志参数一览表

常数 说明
vbPopupMenuLeftAlign 0 位置:X 位置确定弹出菜单的左边界(默认)
vbPopupMenuCenterAlign 4 弹出菜单以X为中心
vbPopupMenuRightAlign 8 X 位置确定弹出菜单的右边界
vbPopupMenuLeftButton 0 性能:只能用鼠标左键触发弹出菜单(缺省值)
vbPopupMenuRightButton 2 能用鼠标左或右键或左右键触发弹出菜单

下面针对文本框中的字体设置设计一个弹出菜单如下。

标题 名称
字体 mnuUp
…字体 mnuFont
…粗体(&B) mnuBold
…倾斜(&I) mnuItlatic
…退出(&X) mnuExit

弹出菜单示例


弹出菜单_界面设计_VB6

Private Sub mnuFontColor_Click() '改变所选字体的颜色菜单事件
    CommonDialog1.ShowColor()
    RichTextBox1.SelColor = CommonDialog1.Color
End Sub

Private Sub mnuFontname_Click() '改变所选字体的名字菜单事件
    CommonDialog1.Flags = cdlCFScreenFonts '字体对话框只有屏幕字体
    CommonDialog1.ShowFont()
    RichTextBox1.SelFontName = CommonDialog1.FontName
End Sub
Private Sub mnuFontSize_Click() '改变所选字体的的大小菜单事件
    CommonDialog1.Flags = cdlCFBoth
    CommonDialog1.ShowFont()
    RichTextBox1.SelFontSize = CommonDialog1.FontSize
End Sub
Private Sub mnufontBold_Click() '粗细菜单事件
    Label2.Visible = True
    Combo1.Visible = True
End Sub
Private Sub Combo1_Click() '选定粗细
    RichTextBox1.SelBold = Combo1.Text
    Combo1.Visible = False
    Label2.Visible = False
End Sub
Private Sub mnufontItlatic_Click() '正斜菜单事件
    Label2.Visible = True
    Combo2.Visible = True
End Sub
Private Sub Combo2_Click()  '选定正斜
    RichTextBox1.SelItalic = Combo2.Text
    Combo2.Visible = False
    Label2.Visible = False
End Sub
'仅在窗体上(非窗体上的控件)按下鼠标按钮激活弹出菜单
'仅在窗体上(非窗体上的控件)按下鼠标按钮激活弹出菜单
Private Sub Form_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    '请逐一演示
    '只有按左键键弹出,菜单的左上角出现在鼠标指针处
    'If Button = vbLeftButton Then PopupMenu mnuFont, vbPopupMenuLeftAlign
    '只有按右键弹出,菜单的上边框中心出现在鼠标指针处
    If Button = vbRightButton Then PopupMenu(mnuFont, vbPopupMenuCenterAlign)
    '按下右按钮或左按钮弹出菜单
    ' PopupMenu mnuFont, vbPopupMenuRightButton
    '按左键弹出(右键也可(?) )
    ' PopupMenu mnuFont, vbPopupMenuLeftAlign + vbPopupMenuLeftButton
    '按左键弹出(右键也可(?) )
    'PopupMenu mnuFont
    '按下右按钮或左按钮在指定位置处(350)显示弹出菜单
    'PopupMenu mnuFont, vbPopupMenuCenterAlign + vbPopupMenuRightButton, 700, 400
End Sub
Private Sub Form_Load()
    RichTextBox1.Text = "  鸟宿池边树,僧敲月下门。" + Chr(13) + Chr(10) _
    & "  过桥分野色,移石动云根。"
    Label1.Caption = Space(7) & "先选定文本的部分内容" & vbCrLf & Space(4) & "再到窗体上去激活弹出菜单"
End Sub



编程学习 VB6 界面设计 弹出菜单 转载请保留此行.谢谢.

VB6