Поделиться через


Метод ITfMenu::AddMenuItem (ctfutb.h)

Добавляет элемент в меню, которое будет отображаться на языковой панели для кнопки.

Синтаксис

HRESULT AddMenuItem(
  [in] UINT        uId,
  [in] DWORD       dwFlags,
  [in] HBITMAP     hbmp,
  [in] HBITMAP     hbmpMask,
  [in] const WCHAR *pch,
  [in] ULONG       cch,
       ITfMenu     **ppMenu
);

Параметры

[in] uId

Содержит идентификатор элемента меню.

[in] dwFlags

Содержит ноль или сочетание одного или нескольких значений TF_LBMENUF_* , определяющих тип и состояние пункта меню.

[in] hbmp

Содержит дескриптор растрового рисунка, нарисованного для пункта меню. Если значение равно NULL, то растровое изображение не отображается для пункта меню.

[in] hbmpMask

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

Чтобы растровое изображение отображалось без преобразования цвета, создайте монохромное растровое изображение того же размера, что и hbmp , и задайте для каждого пикселя черный цвет (RGB(0, 0, 0)).

Если hbmp имеет значение NULL, этот параметр игнорируется.

[in] pch

Указатель на буфер WCHAR , содержащий текст, отображаемый для пункта меню. Длина текста определяется cch.

[in] cch

Указывает длину текста элемента меню в формате WCHAR в pch.

ppMenu

[вход, выход] Указатель на указатель интерфейса ITfMenu , который получает объект подменю. Этот параметр не используется и должен иметь значение NULL , если dwFlags не содержит TF_LBMENUF_SUBMENU.

Если элемент подменю успешно создан, этот параметр получает объект ITfMenu , который вызывающий объект использует для добавления элементов в подменю.

Если dwFlags содержит TF_LBMENUF_SUBMENU, это значение должно быть инициализировано значением NULL перед вызовом этого метода, так как в большинстве случаев это маршализированный вызов. Если не инициализировать эту переменную, маршаллировщик попытается получить доступ к случайной памяти.

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

Этот метод может возвращать одно из этих значений.

Значение Описание
S_OK
Метод выполнен успешно.
E_FAIL
Произошла неизвестная ошибка.
E_OUTOFMEMORY
Произошел сбой выделения памяти.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header ctfutb.h
DLL Msctf.dll
Распространяемые компоненты TSF 1.0 в Windows 2000 Professional

См. также раздел

ITfMenu

константы TF_LBMENUF_*