Файл: ...\Samples\Solution\Menus\Shortcut.scx

Этот пример иллюстрирует отображение меню быстрого вызова когда пользователь щелкает на объекте правой клавишей мышки. Если меню быстрого вызова создано в Конструкторе меню, то код в форме для активации этого меню выглядит очень просто. Следующий код ассоциирован с событием RightClick формы:

  CopyCode imageКопировать код
	DO frmshort.mpr WITH THIS

Следующий код ассоциирован с событием RightClick элемента EditBox формы:

  CopyCode imageКопировать код
DO edtshort.mpr WITH THIS

Меню FRMSHORT

Меню FRMSHORT предназначено для приема в качестве параметра объекта-формы. В окне редактирования кода установки (setup) находится следующий код:

  CopyCode imageКопировать код
PARAMETER oREF
#PREPOP

Директива #PREPOP заставлять выполняться перед командой ACTIVATE POPUP код, набранный в окне редактирования кода завершения (cleanup) меню. Это делает возможным блокировку или разблокировку пунктов меню во времени выполнения, а также позволяет отображать отметки (check marks) рядом с пунктами меню.

Код,  ассоциированный с пунктами меню, устанавливает свойства объекта, которые были переданы в .mpr как параметр. Например, пункт Always on top устанавливает свойство AlwaysOnTop формы.

Следующий код, включенный в окно редактирования кода завершения (cleanup) меню, отображает отметку (check mark) рядом с пунктом меню Always on top если свойству формы AlwaysOnTop присвоено значение "истина" (.T.).

  CopyCode imageКопировать код
SET MARK OF BAR 4 OF frmshort TO oRef.AlwaysOnTop

Меню EDTSHORT

Меню EDTSHORT также принимает объект в качестве параметра в своем коде установки (setup code). Поскольку нет необходимости отображать контрольную отметку (check mark) рядом с пунктами в этом меню, директива #PREPOP не используется.

Альтернативный путь отображения меню быстрого вызова описан в примере Создание динамического меню быстрого вызова.

См. также