| ||||||||||||||||
![]() | ||||||||||||||||
| ||||||||||||||||
![]() | ||||||||||||||||
| ||||||||||||||||
![]() |
Создание контекстных меню Иногда бывают очень нужны контекстные меню, т.е. меню, которе "вываливаются" при правом клике мышью. Благо, Бэйсик позволяет их создавать. Пример этот я сам не придумал, и вообще это не пример, а инструкция к созданию контекстных меню. Т.к. для новичков этот процесс может выглядеть сложновато, я попробую его разъяснить. 1. Сначала создаём
простую форму. Так, теперь надо
ввести нужные пункты меню!
Щёлкните на кнопке Next, а потом
на стрелке вправо. Появятся
четыре точки. Это значит, что
следующий пункт находится в
подуровне меню Popup, так сказать
стаёт его состовляющим
компонентом. В пустое поле Caption
введите Show Message (показать
сообщение) и в поле Name введите
mnuSM. Кликните ещё раз на Next, но
стрелку больше жать не надо -
подуровень стоит теперь по
умолчанию. В Caption введите Input your
name, в Name вписываем mnuIYN, потом
снова на Next. Теперь сделаем
маленький визуальный эффект -
введём разделитель между
командами меню и командой
выхода. Для примера запустите
любую программу под Windows
щёлкните на меню File и
посмотрите вниз, комманда Exit
всегда отделена сепаратором от
всех остальных! Так сделаем
такой же разделитель. В поле
Caption вводим "-", только без
кавычек (минус). В поле Name
введите, что хотите это не
нужно Вам вообще, например Sep.
Теперь снова Next, и в поле Caption
введите Exit, а в поле Name введите
mnuExit. Всё, ваше меню готово!
Осталось теперь только
"нафаршировать" его кодом
и прекрепить как контекстное.
Жмите кнопку ОК! Private
Sub
Form_MouseUp(Button As Integer, Shift As Integer, _ End Sub Теперь объясню строку Me.PopupMenu mnuPopup, , X, Y, mnuExit отдельно. Во-первых, вот синтаксис: object.PopupMenu menuname, flags, x, y, boldcommand object объект, к которому цепляем меню. menuname имя меню, которое хоти прицепить flags константа, описывающая место появление меню x расположение меню по иксу y расположение меню по игрику boldcommand пункт меню, который должен быть выделен жирным (только один пункт!) Во-вторых,
вот константы для flags:
Т.е. Вы
можете подставлять как
константы так и значения. А
если Вы пропустите, то меню
появится там, где оно стоит по
умолчанию. Private
Sub
Form_MouseDown(Button As Integer, Shift As _ Теперь объясню почему так. Понимаете, этим я сымитировал точное появление контексного меню как в Windows Explorer. Обратите внимание - меню появляется только при отжатии правой клавиши, а при повтороном нажатии исчезает и появляется на новом месте. Теперь там, где стоит форм, выберем mnuExit - появится событие на клик по пункту меню "Exit". Впишем внутрь только три бкувы: Private
Sub
mnuExit_Click() Теперь кликнем там же и выберем событие mnuIYN, затем введём: Private
Sub mnuIYN_Click() Далее выберем mnuSM и впишем: Private
Sub mnuSM_Click() Всё, теперь осталось запустить проект и проверить работоспособность контекстного меню! Приятного пользования! |
|
![]() | ||||||||||||||||
| ||||||||||||||||
![]() | ||||||||||||||||
|