MENUINFO 構造体 (winuser.h)

メニューに関する情報が含まれます。

構文

typedef struct tagMENUINFO {
  DWORD     cbSize;
  DWORD     fMask;
  DWORD     dwStyle;
  UINT      cyMax;
  HBRUSH    hbrBack;
  DWORD     dwContextHelpID;
  ULONG_PTR dwMenuData;
} MENUINFO, *LPMENUINFO;

メンバー

cbSize

型: DWORD

この構造体のサイズ (バイト単位)。 呼び出し元は、このメンバーを に設定する sizeof(MENUINFO)必要があります。

fMask

型: DWORD

取得または設定するメンバーを示 します (MIM_APPLYTOSUBMENUSを除く)。 このメンバーには、次の値の 1 つ以上を指定できます。

意味
MIM_APPLYTOSUBMENUS
0x80000000
設定は、メニューとそのすべてのサブメニューに適用されます。 SetMenuInfo はこの フラグを使用し、 GetMenuInfo はこのフラグを無視します
MIM_BACKGROUND
0x00000002
hbrBack メンバーを取得または設定します。
MIM_HELPID
0x00000004
dwContextHelpID メンバーを取得または設定します。
MIM_MAXHEIGHT
0x00000001
cyMax メンバーを取得または設定します。
MIM_MENUDATA
0x00000008
dwMenuData メンバーを取得または設定します。
MIM_STYLE
0x00000010
dwStyle メンバーを取得または設定します。

dwStyle

型: DWORD

メニュー スタイル。 このメンバーには、次の値の 1 つ以上を指定できます。

意味
MNS_AUTODISMISS
0x10000000
メニューは、マウスがメニューの外にあるときに約 10 秒間自動的に終了します。
MNS_CHECKORBMP
0x04000000
チェック マークとビットマップ用に同じスペースが予約されています。 チェックマークが描画されている場合、ビットマップは描画されません。 すべてのチェックマークとビットマップが揃っています。 一部の項目でチェックマークを使用し、ビットマップを使用するメニューに使用されます。
MNS_DRAGDROP
0x20000000
メニュー項目は、OLE ドロップ ターゲットまたはドラッグ ソースです。 メニュー所有者は、 WM_MENUDRAG メッセージと WM_MENUGETOBJECT メッセージを受信します。
MNS_MODELESS
0x40000000
メニューはモードレスです。つまり、メニューがアクティブな間は、メニュー モーダル メッセージ ループはありません。
MNS_NOCHECK
0x80000000
チェックマークの項目の左側にスペースは予約されません。 アイテムは引き続き選択できますが、項目の横にチェックマークは表示されません。
MNS_NOTIFYBYPOS
0x08000000
メニュー所有者は、ユーザーが選択を行うときに、 WM_COMMAND メッセージではなく 、WM_MENUCOMMAND メッセージを受け取ります。 MNS_NOTIFYBYPOS はメニュー ヘッダー スタイルであり、個々のサブメニューに適用しても効果はありません。

cyMax

型: UINT

メニューの最大高さ (ピクセル単位)。 メニュー項目が使用可能な領域を超えると、スクロール バーが自動的に使用されます。 既定値 (0) は画面の高さです。

hbrBack

種類: HBRUSH

メニューの背景に使用するブラシへのハンドル。

dwContextHelpID

型: DWORD

コンテキスト ヘルプ識別子。 これは、GetMenuContextHelpId 関数と SetMenuContextHelpId 関数で使用される値と同じです。

dwMenuData

種類: ULONG_PTR

アプリケーション定義の値。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header winuser.h (Windows.h を含む)

こちらもご覧ください

メニューの概要