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型のメニュー項目を取得するには、まず MENUITEMINFO の dwTypeData メンバーを NULL に設定し、GetMenuItemInfo を呼び出して文字列のサイズを見つけます。 cch+1 の値は、必要なサイズです。 次に、このサイズのバッファーを割り当て、 dwTypeData 内のバッファーへのポインターを配置し、 cch を 1 ずつインクリメントしてから、もう一度 GetMenuItemInfo を 呼び出して、バッファーに文字列を入力します。
取得したメニュー項目が他の型の場合、GetMenuItemInfo は dwTypeData メンバーを、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 で導入) |
関連項目
概念
リファレンス