メニュー (メニューとその他のリソース)

このセクションでは、メニューとその使用方法について説明します。

このセクションの内容

名前 説明
メニューについて メニューについて説明します。
メニューの使用 メニューに関連するタスクのコード例を示します。
メニュー リファレンス API リファレンスを収録しています。
名前 説明
AppendMenu 指定したメニュー バー、ドロップダウン メニュー、サブメニュー、またはショートカット メニューの末尾に新しい項目を追加します。 この関数を使用して、メニュー項目の内容、外観、および動作を指定できます。
CheckMenuItem 指定したメニュー項目のチェックマーク属性の状態を選択またはクリアに設定します。
CheckMenuRadioItem 指定したメニュー項目をチェックし、ラジオ項目にします。 同時に、この関数は関連付けられているグループ内の他のすべてのメニュー項目をクリアし、それらの項目のラジオ項目の種類フラグをクリアします。
CreateMenu メニューを作成します。 メニューは最初は空ですが、InsertMenuItem、AppendMenu、および InsertMenu 関数を使用してメニュー項目を入力できます。
CreatePopupMenu ドロップダウン メニュー、サブメニュー、またはショートカット メニューを作成します。 メニューは最初は空です。 InsertMenuItem 関数を使用して、メニュー項目を挿入または追加できます。 InsertMenu 関数を使用してメニュー項目を挿入し、AppendMenu 関数を使用してメニュー項目を追加することもできます。
DeleteMenu 指定したメニューから項目を削除します。 メニュー項目がメニューまたはサブメニューを開いた場合、この関数はメニューまたはサブメニューへのハンドルを破棄し、メニューまたはサブメニューで使用されるメモリを解放します。
DestroyMenu 指定したメニューを破棄し、メニューが占有するすべてのメモリを解放します。
DrawMenuBar 指定したウィンドウのメニュー バーを再描画します。 システムがウィンドウを作成した後にメニュー バーが変更された場合は、変更されたメニュー バーを描画するためにこの関数を呼び出す必要があります。
EnableMenuItem 指定したメニュー項目を有効、無効、または灰色にします。
EndMenu 呼び出し元スレッドのアクティブなメニューを終了します。
GetMenu 指定したウィンドウに割り当てられたメニューへのハンドルを取得します。
GetMenuBarInfo 指定したメニュー バーに関する情報を取得します。
GetMenuCheckMarkDimensions 既定のチェックマーク ビットマップの寸法を取得します。 選択したメニュー項目の横にこのビットマップが表示されます。 SetMenuItemBitmaps 関数を呼び出してメニュー項目の既定のチェックマーク ビットマップを置き換える前に、アプリケーションは GetMenuCheckMarkDimensions を呼び出して適切なビットマップ サイズを決定する必要があります。
GetMenuDefaultItem 指定したメニューの既定のメニュー項目を決定します。
GetMenuInfo 指定したメニューに関する情報を取得します。
GetMenuItemCount 指定したメニュー内の項目数を取得します。
GetMenuItemID メニュー内の指定した位置にあるメニュー項目のメニュー項目識別子を取得します。
GetMenuItemInfo メニュー項目に関する情報を取得します。
GetMenuItemRect 指定したメニュー項目の外接する四角形を取得します。
GetMenuState 指定したメニュー項目に関連付けられているメニュー フラグを取得します。 メニュー項目がサブメニューを開いた場合、この関数はサブメニュー内の項目数も返します。
GetMenuString 指定したメニュー項目のテキスト文字列を指定したバッファーにコピーします。
GetSubMenu 指定したメニュー項目によってアクティブ化されたドロップダウン メニューまたはサブメニューへのハンドルを取得します。
GetSystemMenu コピーおよび変更のために、アプリケーションがウィンドウ メニュー (システム メニューまたはコントロール メニューとも呼ばれます) にアクセスできるようにします。
HiliteMenuItem メニュー バーの項目の強調表示を強調表示または削除します。
InsertMenuItem メニュー内の指定した位置に新しいメニュー項目を挿入します。
IsMenu ハンドルがメニュー ハンドルであるかどうかを判断します。
LoadMenu アプリケーション インスタンスに関連付けられている実行可能ファイル (.exe) から、指定したメニュー リソースを読み込みます。
LoadMenuIndirect 指定したメニュー テンプレートをメモリに読み込みます。
MenuItemFromPoint 指定した場所にあるメニュー項目 (存在する場合) を決定します。
ModifyMenu 既存のメニュー項目を変更します。 この関数は、メニュー項目の内容、外観、および動作を指定するために使用されます。
RemoveMenu メニュー項目を削除するか、指定したメニューからサブメニューをデタッチします。 メニュー項目でドロップダウン メニューまたはサブメニューが開いた場合、 RemoveMenu はメニューまたはそのハンドルを破棄せず、メニューを再利用できます。 この関数が呼び出される前に、 GetSubMenu 関数はドロップダウン メニューまたはサブメニューへのハンドルを取得する必要があります。
SetMenu 指定したウィンドウに新しいメニューを割り当てます。
SetMenuDefaultItem 指定したメニューの既定のメニュー項目を設定します。
SetMenuInfo 指定したメニューの情報を設定します。
SetMenuItemBitmaps 指定したビットマップをメニュー項目に関連付けます。 メニュー項目を選択するかクリアするかに関係なく、メニュー項目の横に適切なビットマップが表示されます。
SetMenuItemInfo メニュー項目に関する情報を変更します。
TrackPopupMenu 指定した場所にショートカット メニューを表示し、メニュー上の項目の選択を追跡します。 ショートカット メニューは、画面上の任意の場所に表示できます。
TrackPopupMenuEx 指定した場所にショートカット メニューを表示し、ショートカット メニューの項目の選択を追跡します。 ショートカット メニューは、画面上の任意の場所に表示できます。

次の関数は廃止されました。

名前 説明
InsertMenu メニューに新しいメニュー項目を挿入し、他の項目をメニューの下に移動します。 メモ:InsertMenu 関数は InsertMenuItem 関数に置き換わりました。 ただし、 InsertMenuItem の拡張機能が不要な場合は、 InsertMenu を引き続き使用できます。
名前 説明
WM_COMMAND ユーザーがメニューからコマンド項目を選択したとき、コントロールが親ウィンドウに通知メッセージを送信したとき、またはアクセラレータキーストロークが変換されたときに送信されます。
WM_CONTEXTMENU ユーザーがウィンドウ内のマウスの右ボタン (右クリック) をクリックしたことをウィンドウに通知します。
WM_ENTERMENULOOP メニュー モーダル ループが入力されたことをアプリケーションのメイン ウィンドウ プロシージャに通知します。
WM_EXITMENULOOP メニュー モーダル ループが終了したことをアプリケーションのメイン ウィンドウ プロシージャに通知します。
WM_GETTITLEBARINFOEX 拡張タイトル バー情報を要求するために送信されます。 ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。
WM_MENUCOMMAND ユーザーがメニューから選択を行うときに送信されます。
WM_MENUDRAG ユーザーがメニュー項目をドラッグしたときに、ドラッグ アンド ドロップ メニューの所有者に送信されます。
WM_MENUGETOBJECT マウス カーソルがメニュー項目に入ったとき、または項目の中央から項目の上部または下部に移動したときに、ドラッグ アンド ドロップ メニューの所有者に送信されます。
WM_MENURBUTTONUP カーソルがメニュー項目にあるときに、ユーザーがマウスの右ボタンを離したときに送信されます。
WM_NEXTMENU メニュー バーとシステム メニューを切り替えるために右方向キーまたは左方向キーを使用すると、アプリケーションに送信されます。
WM_UNINITMENUPOPUP ドロップダウン メニューまたはサブメニューが破棄されたときに送信されます。
名前 説明
MDINEXTMENU アクティブ化するメニューに関する情報が含まれます。
MENUBARINFO メニュー バー情報が含まれています。
MENUEX_TEMPLATE_HEADER 拡張メニュー テンプレートのヘッダーを定義します。 この構造体の定義は説明のみを目的としています。標準ヘッダー ファイルには存在しません。
MENUEX_TEMPLATE_ITEM 拡張メニュー テンプレートのメニュー項目を定義します。 この構造体の定義は説明のみを目的としています。標準ヘッダー ファイルには存在しません。
MENUGETOBJECTINFO マウス カーソルが置かれているメニューに関する情報が含まれます。
MENUINFO メニューに関する情報が含まれます。
MENUITEMINFO メニュー項目に関する情報が含まれます。
MENUITEMTEMPLATE メニュー テンプレートのメニュー項目を定義します。
MENUITEMTEMPLATEHEADER メニュー テンプレートのヘッダーを定義します。 完全なメニュー テンプレートは、ヘッダーと 1 つ以上のメニュー項目リストで構成されます。
TPMPARAMS TrackPopupMenuEx 関数の拡張パラメーターが含まれています。