程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB實現窗口的彈出式菜單

VB實現窗口的彈出式菜單

編輯:VB綜合教程

  在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

  PopupMenu mnuFile ′彈出PopUpMenu。

  End If

  End Sub

  這樣,在VB執行環境中,操作窗體上的RichTexBox控件,按動鼠標器右鍵就可彈出下拉菜單,實現復制、剪切功能。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved