Partager via


Méthode ITfMenu::AddMenuItem (ctfutb.h)

Ajoute un élément au menu que la barre de langue affichera pour le bouton.

Syntaxe

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

Paramètres

[in] uId

Contient l’identificateur d’élément de menu.

[in] dwFlags

Contient zéro ou une combinaison d’une ou plusieurs valeurs TF_LBMENUF_* qui spécifient le type et l’état de l’élément de menu.

[in] hbmp

Contient le handle de la bitmap dessinée pour l’élément de menu. Si cette valeur est NULL, aucune bitmap n’est affichée pour l’élément de menu.

[in] hbmpMask

Contient le handle de l’image bitmap du masque. Il s’agit d’une bitmap monochrome qui fonctionne comme un masque pour hbmp. Chaque pixel noir de cette bitmap entraîne l’affichage du pixel correspondant dans hbmp dans sa couleur normale. Chaque pixel blanc de cette bitmap entraîne l’affichage du pixel correspondant dans hbmp dans l’inverse de sa couleur normale.

Pour que la bitmap soit affichée sans aucune conversion de couleur, créez une bitmap monochrome de la même taille que hbmp et définissez chaque pixel sur noir (RVB(0, 0, 0)).

Si hbmp a la valeur NULL, ce paramètre est ignoré.

[in] pch

Pointeur vers une mémoire tampon WCHAR qui contient le texte à afficher pour l’élément de menu. La longueur du texte est spécifiée par cch.

[in] cch

Spécifie la longueur, en WCHAR, du texte de l’élément de menu dans pch.

ppMenu

[in, out] Pointeur vers un pointeur d’interface ITfMenu qui reçoit l’objet de sous-menu. Ce paramètre n’est pas utilisé et doit avoir la valeur NULL si dwFlags ne contient pas de TF_LBMENUF_SUBMENU.

Si l’élément de sous-menu est correctement créé, ce paramètre reçoit un objet ITfMenu que l’appelant utilise pour ajouter des éléments au sous-menu.

Si dwFlags contient TF_LBMENUF_SUBMENU, cette valeur doit être initialisée sur NULL avant d’appeler cette méthode, car, dans la plupart des cas, il s’agit d’un appel marshalé. L’échec de l’initialisation de cette variable entraîne la tentative du marshaler d’accéder à la mémoire aléatoire.

Valeur retournée

Cette méthode peut retourner l’une de ces valeurs.

Valeur Description
S_OK
La méthode a réussi.
E_FAIL
Une erreur non spécifiée s'est produite.
E_OUTOFMEMORY
Un échec d’allocation de mémoire s’est produit.

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête ctfutb.h
DLL Msctf.dll
Composant redistribuable TSF 1.0 sur Windows 2000 Professionnel

Voir aussi

ITfMenu

constantes TF_LBMENUF_*