Справочное руководство по TDMS 5.0 API
ContextMenuItemAdd Event
Смотри также  Послать замечания
cmdID
Идентификатор группы команд/подменю/команды меню.
pCurrentObject
Ссылка на объект, которому принадлежит контекстное меню.
bCancel
TRUE - не показывать команду в меню (подменю).
TDMSApplication Объект : ContextMenuItemAdd Event

Glossary Item Box

Описание

Генерируется перед добавлением каждой команды в контекстное меню.

Определение

Visual Basic
Public Event ContextMenuItemAdd( _
   ByVal cmdID As TDMSCmdEnum, _
   ByVal menuObject As Variant, _
   ByVal pCurrentObject As TDMSObject, _
   ByRef bCancel As Boolean _
)

Параметры

cmdID
ЗначениеОписание
tdmCmdAddDesktop 
tdmCmdCanceled 
tdmCmdComments 
tdmCmdCreateMessage 
tdmCmdEMailMenu 
tdmCmdEventsObject 
tdmCmdFindMessage 
tdmCmdFindUser 
tdmCmdMoveQuery 
tdmCmdSignMenu 
Идентификатор группы команд/подменю/команды меню.
menuObject
Ссылка на API-объект, в зависимости от значения cmdID:
  • TDMSCommand - для команд группы tdmCmdCommand. Nothing, если группа пустая (данному типу объекта ни одной команды не назначено).
  • TDMSObjectDef - для подменю tdmCmdCreate, tdmCmdAddCopy, tdmCmdAddLink, tdmCmdFind. Nothing, если подменю пустое (объект не может иметь состава).
  • TDMSSignDef - для подменю tdmCmdSetSign, tdmCmdSetSignNew. Nothing, если подменю пустое (на объекте нет шаблонов подписей/ подписи не назначены типу объекта).
  • Nothing - для остальных.
pCurrentObject
Ссылка на объект, которому принадлежит контекстное меню.
bCancel
TRUE - не показывать команду в меню (подменю).

Заметки

1. Событие является отменяемым: если параметру bCancel присвоено значение TRUE, команда не будет добавлена в меню. Событие наступает даже в том случае, если событие ContextMenuBeforeShow было отменено.

2. Событие не может быть сгенерировано программно - в API TDMS нет метода, позволяющего показать контекстное меню объекта.

3. Обработчик может быть размещен в скриптах объекта, профиля и/или общесистемном (см. рисунок). Если обработчики определены на всех уровнях, то последовательность их вызова такова:

  • скрипт объекта;
  • скрипт профиля пользователя;
  • общесистемный скрипт.

Если на каком-либо уровне событие было отменено (параметру bCancel присвоено значение TRUE), то обработчики события, размещенные на последующих уровнях, вызваны не будут.

4. Событие генерируется при вызове контекстного меню:

  • на любом объекте в Дереве объектов или на Панели состава;
  • на узлах Desktop и Root Дерева объектов;
  • кнопкой "Команды" на панели инструментов в Окне свойств объекта.

5. Желательно не использовать в обработчике события функции вывода диалогов типа MsgBox(). При этом происходит переключение фокуса на окно диалога, и дальнейшее поведение объекта может быть некорректным (могут не выполняться некоторые команды контекстного меню и т.п.)

6. Схему последовательности генерации событий при вызове контекстного меню на объекте в Дереве объектов см. на рисунке.

7. Событие генерируется даже в том случае, когда вывод самого контекстного меню на экран отменен (параметру bCancel в обработчике ContextMenu_BeforeShow() присвоено значение TRUE).

Пример

Смотри также

© 2016 CSoft Development. Все права защищены.