VB實現視窗的彈出式菜單

來源:互聯網
上載者:User
在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控制項,按動滑鼠器右鍵就可彈出下拉式功能表,實現複製、剪下功能。
 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.