Навигация:
<< >> Оглавление Указатель

Приложения

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

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

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

А.5.18.3. rdsChangeMenuItem – изменить параметры пункта меню

Функция rdsChangeMenuItem изменяет параметры ранее созданного постоянного пункта системного меню RDS или контекстного меню блока.

    rdsChangeMenuItemA(
     Item, // Идентификатор пункта меню
     Caption,   // Текст пункта меню (UTF8)
     Options,     // Флаги (RDS_MENU_*)
    int ShortCutKey,   // Код "горячей клавиши"
     ShiftFlags,  // Флаги "горячей клавиши"(RDS_K*)
    int MenuFunc,      // Номер функции пункта меню
    int MenuData       // Данные пункта меню
  );
    rdsChangeMenuItemW(
     Item, // Идентификатор пункта меню
     Caption,  // Текст пункта меню (UTF16)
     Options,     // Флаги (RDS_MENU_*)
    int ShortCutKey,   // Код "горячей клавиши"
     ShiftFlags,  // Флаги "горячей клавиши"(RDS_K*)
    int MenuFunc,      // Номер функции пункта меню
    int MenuData       // Данные пункта меню
  );
  // 
    rdsChangeMenuItem(
     Item, // Идентификатор пункта меню
     Caption,  // Текст пункта меню (кодировка по умолчанию)
     Options,     // Флаги (RDS_MENU_*)
    int ShortCutKey,   // Код "горячей клавиши"
     ShiftFlags,  // Флаги "горячей клавиши"(RDS_K*)
    int MenuFunc,      // Номер функции пункта меню
    int MenuData       // Данные пункта меню
  );

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

RDS_BMhSDwIDwII (для UTF8) или RDS_BMhWsDwIDwII (для UTF16)

Параметры

Item (RDS_MENUITEM)
Уникальный идентификатор пункта меню (RDS_MENUITEM), параметры которого изменяются.
Caption (RDSCSTR, RDSWCSTR, RDSXCSTR)
Указатель на строку с новым текстом пункта меню – этот текст пользователь увидит в самом меню. Если в этом параметре передать NULL, текст пункта изменен не будет.
Options (DWORD)
Один или несколько объединенных битовым ИЛИ флагов, задающих параметры пункта меню:
RDS_MENU_DISABLED Выбор пункта меню будет запрещен, пункт будет изображаться серым цветом.
RDS_MENU_CHECKED Слева от текста пункта меню будет находиться галочка.
RDS_MENU_DIVIDER Вместо пункта меню будет изображаться горизонтальная черта-разделитель. Пользователь не может выбрать этот пункт. При установке этого флага другие флаги и параметры Caption, ShortCutKey, ShiftFlags, MenuFunc и MenuData игнорируются.
RDS_MENU_HIDDEN Пункт меню будет невидимым (скрытым от пользователя).
RDS_MENU_SHORTCUT У пункта меню будет «горячая клавиша», определяемая параметрами ShortCutKey и ShiftFlags.
RDS_MENU_UNIQUECAPTION Если пункт с текстом Caption уже есть в меню, выполнение функции будет отменено.
ShortCutKey (int)
Код «горячей клавиши» пункта меню (только если Item – пункт системного, а не контекстного меню). Это одна из стандартных констант VK_*, используемых в Windows API.
ShiftFlags (DWORD)
Набор битовых флагов RDS_K*, указывающих на сочетание «горячей клавиши» ShortCutKey со служебными клавишами Ctrl, Alt и Shift.
MenuFunc (int)
Номер функции пункта меню – при выборе пункта пользователем RDS копирует это число в поле Function структуры RDS_MENUFUNCDATA без какой-либо обработки.
MenuData (int)
Данные пункта меню – при выборе пункта пользователем RDS копирует это число в поле MenuData структуры RDS_MENUFUNCDATA без какой-либо обработки.

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

TRUE – параметры пункта меню изменены, FALSE – ошибка.

Примечания

Эта функция позволяет изменять параметры постоянного пункта меню (не важно – контекстного или системного), если известен его уникальный идентификатор Item.

Пример

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

См. также

rdsRegisterContextMenuItemEx, rdsRegisterMenuItem, rdsSetMenuItemOptions, rdsEnableMenuItem.


<< >> Оглавление Указатель