Почти во всех приложениях 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) |
(картинка
2) |
Описание метода PopupMenu
object.PopupMenu menuname, flags, x, y, boldcommand
object объект, к которому цепляем
меню.
menuname имя меню, которое хоти прицепить
flags константа, описывающая
место появление меню
x расположение
меню по иксу
y расположение
меню по игрику
boldcommand пункт меню, который должен быть
выделен жирным (только один пункт!)
Во-вторых, вот константы для flags:
Константы |
Значение |
Описание |
vbPopupMenuLeftAlign |
0 |
(по умолчанию) меню появляется слева под
курсором. |
vbPopupMenuCenterAlign |
4 |
меню появляется по центру под курсором. |
vbPopupMenuRightAlign |
8 |
меню появляется справа под курсором. |
|