Freigeben über


ITfMenu::AddMenuItem-Methode (ctfutb.h)

Fügt dem Menü ein Element hinzu, das von der Sprachleiste für die Schaltfläche angezeigt wird.

Syntax

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

Parameter

[in] uId

Enthält den Menüelementbezeichner.

[in] dwFlags

Enthält null oder eine Kombination aus mindestens einem der TF_LBMENUF_* -Werte, die den Typ und den Zustand des Menüelements angeben.

[in] hbmp

Enthält den Handle der Bitmap, die für das Menüelement gezeichnet wurde. Wenn dies NULL ist, wird keine Bitmap für das Menüelement angezeigt.

[in] hbmpMask

Enthält den Handle der Maskenbitbit. Dies ist eine monochrome Bitmap, die als Maske für hbmp fungiert. Jedes schwarze Pixel in dieser Bitmap bewirkt, dass das entsprechende Pixel in hbmp in seiner normalen Farbe angezeigt wird. Jedes weiße Pixel in dieser Bitmap bewirkt, dass das entsprechende Pixel in hbmp in der Inverse seiner normalen Farbe angezeigt wird.

Damit die Bitmap ohne Farbkonvertierung angezeigt wird, erstellen Sie eine monochrome Bitmap mit der gleichen Größe wie hbmp , und legen Sie jedes Pixel auf Schwarz (RGB(0, 0, 0)) fest.

Wenn hbmpNULL ist, wird dieser Parameter ignoriert.

[in] pch

Zeiger auf einen WCHAR-Puffer , der den text enthält, der für das Menüelement angezeigt werden soll. Die Länge des Texts wird durch cch angegeben.

[in] cch

Gibt in WCHAR die Länge des Menüelementtexts in pch an.

ppMenu

[ein, aus] Zeiger auf einen ITfMenu-Schnittstellenzeiger , der das Untermenüobjekt empfängt. Dieser Parameter wird nicht verwendet und muss NULL sein, wenn dwFlags keine TF_LBMENUF_SUBMENU enthält.

Wenn das Untermenüelement erfolgreich erstellt wurde, empfängt dieser Parameter ein ITfMenu-Objekt , das der Aufrufer zum Hinzufügen von Elementen zum Untermenü verwendet.

Wenn dwFlagsTF_LBMENUF_SUBMENU enthält, muss dieser Wert vor dem Aufrufen dieser Methode in NULL initialisiert werden, da es sich in den meisten Fällen um einen Marshallaufruf handelt. Wenn diese Variable nicht initialisiert wird, versucht der Marshaller, auf zufälligen Arbeitsspeicher zuzugreifen.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Wert BESCHREIBUNG
S_OK
Die Methode war erfolgreich.
E_FAIL
Es ist ein unbekannter Fehler aufgetreten.
E_OUTOFMEMORY
Ein Fehler bei der Speicherzuordnung ist aufgetreten.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ctfutb.h
DLL Msctf.dll
Verteilbare Komponente TSF 1.0 unter Windows 2000 Professional

Weitere Informationen

ITfMenu

TF_LBMENUF_*-Konstanten