Структура MSAAMENUINFO (oleacc.h)
Используется разработчиками серверов для предоставления имен элементов меню, нарисованных владельцем.
Синтаксис
typedef struct tagMSAAMENUINFO {
DWORD dwMSAASignature;
DWORD cchWText;
LPWSTR pszWText;
} MSAAMENUINFO, *LPMSAAMENUINFO;
Члены
dwMSAASignature
Тип: DWORD
Должен быть MSAA_MENU_SIG, который определен в oleacc.h.
cchWText
Тип: DWORD
Длина (в символах) текста для пункта меню, не включая символ, завершающийся null в Юникоде.
pszWText
Тип: LPWSTR
Текст пункта меню в Юникоде, включая символ, завершающийся нулевым символом в Юникоде.
Комментарии
Связав структуру MSAAMENUINFO с данными элементов меню, нарисованных владельцем, разработчики серверов могут предоставлять элементы меню без необходимости реализовывать IAccessible.
Структура MSAAMENUINFO является первым элементом структуры конкретного приложения (или класса), которая содержит данные для элемента меню, на который указывает элемент dwItemData структуры MENUITEMINFO .
Структура MSAAMENUINFO не может быть членом класса, содержащего виртуальные функции, так как первый член класса всегда является созданным компилятором указателем на таблицу виртуальных функций. Чтобы обойти эту проблему, можно реализовать структуру, содержащую MSAAMENUINFO в качестве первого элемента и указатель на класс с виртуальными функциями в качестве второго члена, который содержит данные элемента, нарисованные владельцем.
Примеры
В следующем фрагменте кода показано объявление информационной структуры меню, нарисованной владельцем для конкретного приложения, которая включает MSAAMENUINFO:
// Application-specific owner-drawn menu info struct. Owner-drawn data
// is a pointer to one of these. MSAAMENUINFO must be the first
// member.
struct MenuEntry
{
MSAAMENUINFO m_MSAA; // MSAA info - must be first element.
LPTSTR m_pName; // Menu text, for display. NULL for
// separator item.
int m_CmdID; // Menu command ID.
int m_IconIndex; // Index of icon in bitmap.
};
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | oleacc.h |
Распространяемые компоненты | Активные специальные возможности 1.3 RDK в Windows NT 4.0 с пакетом обновления 6 (SP6) и более поздних версий и Windows 95 |