Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.18. Системное меню и контекстное меню блока

А.5.18.6. rdsRegisterContextMenuItem – создать постоянный пункт контекстного меню блока

# Приложения

## Приложение А. Функции, константы и структуры RDS

### А.5. Сервисные функции и макросы RDS

#### А.5.18. Системное меню и контекстное меню блока

##### А.5.18.6. rdsRegisterContextMenuItem – создать постоянный пункт контекстного меню блока

Функция rdsRegisterContextMenuItem добавляет в контекстное меню блока, из модели которого она вызвана, постоянный пункт с указанным текстом. Это устаревшая сервисная функция, сейчас вместо нее обычно используется функция rdsRegisterContextMenuItemEx, обладающая большими возможностями.

      RDS_MENUITEM RDSCALL rdsRegisterContextMenuItemA(
        RDSCSTR Caption,  // Текст пункта меню (UTF8)
        int MenuFunc,     // Номер функции пункта меню
        int MenuData      // Данные пункта меню
      );
      RDS_MENUITEM RDSCALL rdsRegisterContextMenuItemW(
        RDSWCSTR Caption, // Текст пункта меню (UTF16)
        int MenuFunc,     // Номер функции пункта меню
        int MenuData      // Данные пункта меню
      );
      // Функция-псевдоним
      RDS_MENUITEM RDSCALL rdsRegisterContextMenuItem(
        RDSXCSTR Caption, // Текст пункта меню (кодировка по умолчанию)
        int MenuFunc,     // Номер функции пункта меню
        int MenuData      // Данные пункта меню
      );

Тип указателя на эту функцию

RDS_MhSII (для UTF8) или RDS_MhWsII (для UTF16)

Параметры

Caption(RDSCSTR,RDSWCSTR,RDSXCSTR)
  Указатель на строку с текстом пункта меню – этот текст пользователь увидит в самом меню.
MenuFunc(int)
  Номер функции пункта меню – при выборе пункта пользователем RDS копирует это число в поле Function структуры RDS_MENUFUNCDATA без какой-либо обработки.
MenuData(int)
  Данные пункта меню – при выборе пункта пользователем RDS копирует это число в поле MenuData структуры RDS_MENUFUNCDATA без какой-либо обработки.

Возвращаемое значение

Идентификатор созданного пункта меню или NULL при возникновении какой-либо ошибки.

Примечания

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

Добавленный пункт будет иметь текст Caption, с пунктом будет связана пара целых чисел (MenuFunc,MenuData). При выборе этого пункта пользователем модель блока будет вызвана для реакции на событие RDS_BFM_MENUFUNCTION, и в ее параметре ExtParam будет передан указатель на структуру RDS_MENUFUNCDATA, в полях которой будут записаны числа, связанные с выбранным пунктом меню.

Пример

Пример использования функции rdsRegisterContextMenuItem приведен в §2.12.6 руководства программиста.

См. также

RDS_BFM_MENUFUNCTION, RDS_MENUFUNCDATA, rdsRegisterContextMenuItemEx, rdsAdditionalContextMenuItemEx, rdsUnregisterMenuItem.