次の方法で共有


InsertMenuItemW 関数 (winuser.h)

メニュー内の指定した位置に新しいメニュー項目を挿入します。

構文

BOOL InsertMenuItemW(
  [in] HMENU            hmenu,
  [in] UINT             item,
  [in] BOOL             fByPosition,
  [in] LPCMENUITEMINFOW lpmi
);

パラメーター

[in] hmenu

型: HMENU

新しいメニュー項目が挿入されるメニューのハンドル。

[in] item

型: UINT

新しい項目を挿入する前のメニュー項目の識別子または位置。 このパラメーターの意味は、fByPosition値によって異なります。

[in] fByPosition

型: BOOL

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

[in] lpmi

型: LPCMENUITEMINFO

新しいメニュー項目に関する情報を含む MENUITEMINFO 構造体へのポインター。

戻り値

型: BOOL

関数が成功した場合、戻り値は 0 以外です。

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

備考

メニューが表示ウィンドウ内にあるかどうかに関係なく、メニューが変更されるたびに、アプリケーションは DrawMenuBar 関数を呼び出す必要があります。

キーボード アクセラレータがビットマップまたは所有者が描画したメニュー項目を操作するには、メニューの所有者が WM_MENUCHAR メッセージを処理する必要があります。 詳細については、「Owner-Drawn メニュー」および「WM_MENUCHARメッセージ」 を参照してください。

例については、「ビットマップMenu-Item の例」を参照してください。

手記

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

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winuser.h (Windows.h を含む)
ライブラリ User32.lib
DLL User32.dll
API セットの ext-ms-win-ntuser-menu-l1-1-1 (Windows 8.1 で導入)

関連項目

概念

DrawMenuBar

MENUITEMINFO を する

メニューの

リファレンス