Visual Basic, .NET, ASP, VBA, VBScript
 
  Библиотека кодов  
  Работа с меню  
     
  Контекстное меню. Практикум по созданию.  
  Почти во всех приложениях Windows используется контекстное меню, вызываемое при нажатии правой клавиши мыши. Контекстное меню (или всплывающее) является обычным меню, но его положение на форме не закреплено.

Контекстное меню вызывается с помощью метода PopupMenu. Что требуется для создания к.меню? Создайте обычное меню первого уровня (как на картинке 1), снимите галочку Visible. Затем создайте три подменю (картинка 2). Значения Visible оставьте как есть.

Затем в события формы вставьте следующий код:

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button And vbRightButton Then 'проверка, нажата ли правая клавиша мыши
PopupMenu mnuPopup
End If
End Sub
Private Sub mnuCopy_Click()
MsgBox "Вы выбрали копировать"
End Sub
Private Sub mnuCut_Click()
MsgBox "Вы выбрали вырезать"
End Sub
Private Sub mnuPaste_Click()
MsgBox "Вы выбрали вставить"
End Sub

Пояснения: в событии MouseDown (более подробная справка по данному событию) необходимо проверить, нажата ли правая клавиша мыши, и только затем показать наше контекстное меню.

 

Поясняющаая картинка 1

(картинка 1)

Поясняющаая картинка 2

(картинка 2)


Описание метода PopupMenu

object.PopupMenu menuname, flags, x, y, boldcommand

object     объект, к которому цепляем меню.
menuname   имя меню, которое хоти прицепить
flags      константа, описывающая место появление меню
x          расположение меню по иксу
y          расположение меню по игрику
boldcommand  пункт меню, который должен быть выделен жирным (только один пункт!)

Во-вторых, вот константы для flags:

Константы Значение Описание
vbPopupMenuLeftAlign  0 (по умолчанию) меню появляется слева под курсором.
vbPopupMenuCenterAlign  4 меню появляется по центру под курсором.
vbPopupMenuRightAlign  8 меню появляется справа под курсором.

 
     
  VBNet online (всего: 52050)  
 

Логин:

Пароль:

Регистрация, забыли пароль?


В чате сейчас человек
 
     
  VBNet рекомендует  
   
     
  Лучшие материалы  
 
ActiveX контролы (112)
Hitman74_Library (36119)
WindowsXPControls (20739)
FlexGridPlus (19374)
DSMAniGifControl (18295)
FreeButton (15157)
Примеры кода (546)
Parol (18027)
Passworder (9299)
Screen saver (7654)
Kerish AI (5817)
Folder_L (5768)
Статьи по VB (136)
Мое второе впечатление... (11236)
VB .NET: дорога в будущее (11161)
Основы SQL (9225)
Сообщения Windows в Vi... (8788)
Классовая теория прогр... (8619)
 
     
Техническая поддержка MTW-хостинг | © Copyright 2002-2011 VBNet.RU | Пишите нам