Share via


Structure MSAAMENUINFO (oleacc.h)

Utilisé par les développeurs de serveurs pour exposer les noms des éléments de menu dessinés par le propriétaire.

Syntaxe

typedef struct tagMSAAMENUINFO {
  DWORD  dwMSAASignature;
  DWORD  cchWText;
  LPWSTR pszWText;
} MSAAMENUINFO, *LPMSAAMENUINFO;

Membres

dwMSAASignature

Type : DWORD

Doit être MSAA_MENU_SIG, qui est défini dans oleacc.h.

cchWText

Type : DWORD

Longueur, en caractères, du texte de l’élément de menu, sans inclure le caractère unicode terminé par un caractère null.

pszWText

Type : LPWSTR

Texte de l’élément de menu, en Unicode, y compris le caractère terminé par une valeur Null Unicode.

Remarques

En associant la structure MSAAMENUINFO à des données d’élément de menu dessinées par le propriétaire, les développeurs de serveurs peuvent exposer les éléments de menu sans avoir à implémenter IAccessible.

La structure MSAAMENUINFO est le premier membre de la structure (ou classe) spécifique à l’application qui contient les données d’un élément de menu dessiné par le propriétaire, pointé par le membre dwItemData de la structure MENUITEMINFO .

La structure MSAAMENUINFO ne peut pas être membre d’une classe qui contient des fonctions virtuelles, car le premier membre de la classe est toujours un pointeur généré par le compilateur vers une table des fonctions virtuelles. Pour contourner ce problème, vous pouvez implémenter une structure qui contient le MSAAMENUINFO en tant que premier membre, et un pointeur vers la classe avec les fonctions virtuelles comme deuxième membre, qui contient les données d’élément dessinées par le propriétaire.

Exemples

Le fragment de code suivant montre la déclaration d’une structure d’informations de menu dessinée par le propriétaire spécifique à l’application qui inclut 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.
};

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête oleacc.h
Composant redistribuable Active Accessibility 1.3 RDK sur Windows NT 4.0 avec SP6 et versions ultérieures et Windows 95

Voir aussi

Exposition des éléments de menu Owner-Drawn

Iaccessible