GetMenuItemInfoW 関数 (winuser.h)

メニュー項目に関する情報を取得します。

構文

BOOL GetMenuItemInfoW(
  [in]      HMENU           hmenu,
  [in]      UINT            item,
  [in]      BOOL            fByPosition,
  [in, out] LPMENUITEMINFOW lpmii
);

パラメーター

[in] hmenu

種類: HMENU

メニュー項目を含むメニューへのハンドル。

[in] item

型: UINT

情報を取得するメニュー項目の識別子または位置。 このパラメーターの意味は 、fByPosition の値によって異なります。

[in] fByPosition

種類: BOOL

uItem の意味。 このパラメーターが FALSE の場合、 uItem はメニュー項目識別子です。 それ以外の場合は、メニュー項目の位置です。 詳細については、「 プログラムによるメニュー項目へのアクセス 」を参照してください。

[in, out] lpmii

種類: LPMENUITEMINFO

メニュー項目に関する情報を取得および受信する情報を指定する MENUITEMINFO 構造体へのポインター。 この関数を呼び出す前に、 cbSize メンバーを に設定する sizeof(MENUITEMINFO) 必要があることに注意してください。

戻り値

種類: BOOL

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 拡張エラー情報を取得するには、 GetLastError 関数を使用します。

解説

MFT_STRING型のメニュー項目を取得するには、まず MENUITEMINFOdwTypeData メンバーを NULL に設定し、GetMenuItemInfo を呼び出して文字列のサイズを見つけます。 cch+1 の値は、必要なサイズです。 次に、このサイズのバッファーを割り当て、 dwTypeData 内のバッファーへのポインターを配置し、 cch を 1 ずつインクリメントしてから、もう一度 GetMenuItemInfo を 呼び出して、バッファーに文字列を入力します。

取得したメニュー項目が他の型の場合、GetMenuItemInfodwTypeData メンバーを、fType fType メンバーで指定された型の値に設定し、cch を 0 に設定します。

例については、「 メニュー項目の Owner-Drawn 例」を参照してください。

注意

winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetMenuItemInfo を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-menu-l1-1-3 (Windows 10 バージョン 10.0.14393 で導入)

関連項目

概念

メニュー

リファレンス

SetMenuItemInfo