用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心编程技巧VisualBasic

VB实现窗口的弹出式菜单

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-03-16 19:49:50
在Windows95、Windows98或NT的风格中,有按动鼠标器右键弹出下拉菜单的操作,在VB执行环境下,有一些控件本身具有弹下拉菜单的功能,如TexTbox控件等,但大多数编辑类控件以及窗体本身却没有此功能,要在窗口中任意位置实现PopUpMenu(弹出式菜单),可借助VB的菜单工具来实现。

  首先,打开VB的“工具”菜单条,利用“菜单编辑器”为窗体生成一个菜单:

  标题(Caption) 菜单条名(Name)

  编辑 menuEdit

  ……复制 mnuCopy

  ……剪切 munCut

  其次,将生成的menuEdit菜单设置为不可视。

  Private Sub Form_Load()

  Me.menuEdit.Visibe=False

  ′menuEdit菜单设置为不可视

  End Sub

  然后,利用MouseDown事件实现任意位置弹出PopUpMenu,如下例:

  本例中以RichTexBox控件为例,在其上面实现复制、剪切功能。

  1.复制功能的实现。

  Private Sub MnuCopy_Click()

  Clipboar.Clear′将剪贴板清空

  ′将RichTexBox控件上选择上的内容复制到剪贴板

  Clipboard.SetTextRichTexBox1.SelText

  End Sub

  2.剪切功能的实现。

  Private Sub MnuCut_Click()

  Clipboard.Clear ′将剪贴板清空

  ′将RichTextBox控件上选择了的内容复制到剪贴板

  Clipboard.SetTextRichBox1.SelText

  ′将RichTexBox控件上选择了的内容删除

  SendKeys″{DELETE}″,True

  End Sub

  3.在RichTexBox控件的MouseDown事件中实现任意位置弹出PopUPMenu。

  OPrivate Sub RichTexBox1_MouseDown(Button As Integer,Shift As Integer,x As Single,Y As Single)

  Dim MnuFile AS Menu ′声明一个菜单类型的变量

  Set munFile=Me.MenuEdit ′将MenuEdit赋给菜单变量

  if Button=2 Then ′判断是否按动鼠标器右键

  ′判断RichTexBox控件上选择了的内容是否存在,决定复制、剪切菜单条是否可操作。

  If Len(RichTexBox.Text)=0 Or Len(RichTexBox.SelText)=0 Then

  mnuCopy.Enabled=Flase ′复制菜单条不可操作。

  nmuCut.Enabled=False ′剪切菜单条不可操作。

  nmuCopy.Enabled=True ′复制菜单条可操作。

  nmuCut.Enabled=True ′剪切菜单条可操作。

  End IF

  PopupMenu mnuFile ′弹出PopUpMenu。

  End If

  End Sub

  这样,在VB执行环境中,操作窗体上的RichTexBox控件,按动鼠标器右键就可弹出下拉菜单,实现复制、剪切功能。

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:24,078.13000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号