Файл: ...\Samples\Solution\Menus\Shortcut.scx
Этот пример иллюстрирует отображение меню быстрого вызова когда пользователь щелкает на объекте правой клавишей мышки. Если меню быстрого вызова создано в Конструкторе меню, то код в форме для активации этого меню выглядит очень просто. Следующий код ассоциирован с событием RightClick формы:
Копировать код | |
---|---|
DO frmshort.mpr WITH THIS |
Следующий код ассоциирован с событием RightClick элемента EditBox формы:
Копировать код | |
---|---|
DO edtshort.mpr WITH THIS |
Меню FRMSHORT
Меню FRMSHORT предназначено для приема в качестве параметра объекта-формы. В окне редактирования кода установки (setup) находится следующий код:
Копировать код | |
---|---|
PARAMETER oREF |
Директива #PREPOP заставлять выполняться перед командой ACTIVATE POPUP код, набранный в окне редактирования кода завершения (cleanup) меню. Это делает возможным блокировку или разблокировку пунктов меню во времени выполнения, а также позволяет отображать отметки (check marks) рядом с пунктами меню.
Код, ассоциированный с пунктами меню, устанавливает свойства объекта, которые были переданы в .mpr как параметр. Например, пункт Always on top устанавливает свойство AlwaysOnTop формы.
Следующий код, включенный в окно редактирования кода завершения (cleanup) меню, отображает отметку (check mark) рядом с пунктом меню Always on top если свойству формы AlwaysOnTop присвоено значение "истина" (.T.).
Копировать код | |
---|---|
SET MARK OF BAR 4 OF frmshort TO oRef.AlwaysOnTop |
Меню EDTSHORT
Меню EDTSHORT также принимает объект в качестве параметра в своем коде установки (setup code). Поскольку нет необходимости отображать контрольную отметку (check mark) рядом с пунктами в этом меню, директива #PREPOP не используется.
Альтернативный путь отображения меню быстрого вызова описан в примере Создание динамического меню быстрого вызова.