次の方法で共有


MENUITEMINFOA 構造体 (winuser.h)

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

構文

typedef struct tagMENUITEMINFOA {
  UINT      cbSize;
  UINT      fMask;
  UINT      fType;
  UINT      fState;
  UINT      wID;
  HMENU     hSubMenu;
  HBITMAP   hbmpChecked;
  HBITMAP   hbmpUnchecked;
  ULONG_PTR dwItemData;
  LPSTR     dwTypeData;
  UINT      cch;
  HBITMAP   hbmpItem;
} MENUITEMINFOA, *LPMENUITEMINFOA;

メンバーズ

cbSize

型: UINT

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

fMask

型: UINT

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

価値 意味
MIIM_BITMAP
0x00000080
hbmpItem メンバー を取得または設定します。
MIIM_CHECKMARKS
0x00000008
hbmpChecked を取得または設定し、hbmpUnchecked メンバーを します。
MIIM_DATA
0x00000020
dwItemData メンバー 取得または設定します。
MIIM_FTYPE
0x00000100
fType メンバーを取得または設定します。
MIIM_ID
0x00000002
wID メンバーを取得または設定します。
MIIM_STATE
0x00000001
fState メンバーを取得または設定します。
MIIM_STRING
0x00000040
dwTypeData メンバー を取得または設定します。
MIIM_SUBMENU
0x00000004
hSubMenu メンバー を取得または設定します。
MIIM_TYPE
0x00000010
dwTypeData メンバーの fTypeを取得または設定します。

MIIM_TYPE は、MIIM_BITMAPMIIM_FTYPE、および MIIM_STRINGに置き換えられます。

fType

型: UINT

メニュー項目の種類。 このメンバーには、次の値のうち 1 つ以上を指定できます。

MFT_BITMAPMFT_SEPARATOR、および MFT_STRING の値を相互に組み合わせることはできません。 fMask fTypeを使用するように MIIM_TYPE に設定します。

fMask 値が MIIM_FTYPEの場合にのみ、fType が使用されます。

価値 意味
MFT_BITMAP
0x00000004L
ビットマップを使用してメニュー項目を表示します。 dwTypeData メンバーの下位ワードはビットマップ ハンドルであり、cch メンバーは無視されます。

MFT_BITMAPMIIM_BITMAP に置き換えられ、hbmpItemされます。

MFT_MENUBARBREAK
0x00000020L
メニュー項目を新しい行 (メニュー バーの場合) または新しい列 (ドロップダウン メニュー、サブメニュー、またはショートカット メニューの場合) に配置します。 ドロップダウン メニュー、サブメニュー、またはショートカット メニューの場合、新しい列と古い列を縦線で区切ります。
MFT_MENUBREAK
0x00000040L
メニュー項目を新しい行 (メニュー バーの場合) または新しい列 (ドロップダウン メニュー、サブメニュー、またはショートカット メニューの場合) に配置します。 ドロップダウン メニュー、サブメニュー、またはショートカット メニューの場合、列は垂直線で区切りません。
MFT_OWNERDRAW
0x00000100L
メニューを所有するウィンドウにメニュー項目を描画する責任を割り当てます。 このウィンドウは、メニューが初めて表示される前に WM_MEASUREITEM メッセージを受け取り、メニュー項目の外観を更新する必要がある場合は常に WM_DRAWITEM メッセージを受け取ります。 この値を指定すると、dwTypeData メンバーには、アプリケーション定義の値が含まれます。
MFT_RADIOCHECK
0x00000200L
hbmpChecked メンバーが NULL場合は、チェック マークの代わりにラジオ ボタン マークを使用して、選択したメニュー項目を表示します。
MFT_RIGHTJUSTIFY
0x00004000L
メニュー項目とその後の項目を右揃えします。 この値は、メニュー項目がメニュー バーにある場合にのみ有効です。
MFT_RIGHTORDER
0x00002000L
メニューが右から左にカスケードするように指定します (既定値は左から右)。 これは、アラビア語やヘブライ語などの右から左の言語をサポートするために使用されます。
MFT_SEPARATOR
0x00000800L
メニュー項目が区切り記号であることを指定します。 メニュー項目の区切り記号は、水平分割線として表示されます。 dwTypeData および cch メンバーは無視されます。 この値は、ドロップダウン メニュー、サブメニュー、またはショートカット メニューでのみ有効です。
MFT_STRING
0x00000000L
テキスト文字列を使用してメニュー項目を表示します。 dwTypeData メンバーは null で終わる文字列へのポインターであり、cch メンバーは文字列の長さです。

MFT_STRINGMIIM_STRINGに置き換えられます。

fState

型: UINT

メニュー項目の状態。 このメンバーには、これらの値の 1 つ以上を指定できます。 fMask MIIM_STATE に設定して、fState使用します。

価値 意味
MFS_CHECKED
0x00000008L
メニュー項目を確認します。 選択したメニュー項目の詳細については、hbmpChecked メンバー 参照してください。
MFS_DEFAULT
0x00001000L
メニュー項目が既定であることを指定します。 メニューに含めることができる既定のメニュー項目は 1 つだけで、太字で表示されます。
MFS_DISABLED
0x00000003L
メニュー項目を無効にし、グレー表示して選択できないようにします。 これは、MFS_GRAYEDと同じです。
MFS_ENABLED
0x00000000L
選択できるようにメニュー項目を有効にします。 これが既定の状態です。
MFS_GRAYED
0x00000003L
メニュー項目を無効にし、グレー表示して選択できないようにします。 これは、MFS_DISABLEDと同じです。
MFS_HILITE
0x00000080L
メニュー項目を強調表示します。
MFS_UNCHECKED
0x00000000L
メニュー項目をオフにします。 クリア メニュー項目の詳細については、hbmpChecked メンバー を参照してください。
MFS_UNHILITE
0x00000000L
メニュー項目から強調表示を削除します。 これが既定の状態です。

wID

型: UINT

メニュー項目を識別するアプリケーション定義の値。 wIDを使用するには、fMask MIIM_ID に設定します。

hSubMenu

型: HMENU

メニュー項目に関連付けられているドロップダウン メニューまたはサブメニューへのハンドル。 メニュー項目がドロップダウン メニューまたはサブメニューを開く項目でない場合、このメンバーは NULL。 fMask hSubMenuを使用するには、MIIM_SUBMENU 設定します。

hbmpChecked

型: HBITMAP

選択されている場合に項目の横に表示するビットマップのハンドル。 このメンバーが NULL場合は、既定のビットマップが使用されます。 MFT_RADIOCHECK 型の値が指定されている場合、既定のビットマップは行頭文字です。 それ以外の場合は、チェック マークです。 hbmpCheckedを使用するには、fMask MIIM_CHECKMARKS に設定します。

hbmpUnchecked

型: HBITMAP

項目の横に表示するビットマップのハンドル (選択されていない場合)。 このメンバーが NULL場合、ビットマップは使用されません。 fMask MIIM_CHECKMARKS に設定して、hbmpUnchecked使用します。

dwItemData

型: ULONG_PTR

メニュー項目に関連付けられているアプリケーション定義の値。 dwItemDataを使用するには、fMask MIIM_DATA に設定します。

dwTypeData

型: LPTSTR

メニュー項目の内容。 このメンバーの意味は、fType の値によって異なり、MIIM_TYPE フラグが fMask メンバーに設定されている場合にのみ使用されます。

MFT_STRING型のメニュー項目を取得するには、まず、MENUITEMINFOdwTypeData メンバーを NULL に設定してから、GetMenuItemInfo呼び出して、文字列のサイズを検索します。 cch+1 の値は、必要なサイズです。 次に、このサイズのバッファーを割り当て、dwTypeDataにバッファーへのポインターを配置し、cchインクリメントして、GetMenuItemInfo をもう一度呼び 出して、バッファーに文字列を格納します。 取得したメニュー項目が他の型の場合は、GetMenuItemInfo dwTypeData メンバーを、fType メンバーで指定された型の値に設定します。

SetMenuItemInfo 関数と共に使用する場合、このメンバーには、fType メンバーで指定された型の値が含まれている必要があります。

dwTypeData は、MIIM_STRING フラグが fMask メンバーに設定されている場合にのみ使用されます

cch

型: UINT

MFT_STRING の種類のメニュー項目に関する情報を受け取った場合の、メニュー項目のテキストの長さ (文字数)。 ただし、cch は、MIIM_TYPE フラグが fMask メンバーに設定され、それ以外の場合は 0 の場合にのみ使用されます。 また、SetMenuItemInfoを呼び出してメニュー項目の内容が設定されている場合、cch は無視されます。

GetMenuItemInfo呼び出す前に、アプリケーション cch を、dwTypeData メンバーが指すバッファーの長さに設定する必要があります。 取得したメニュー項目が (fType メンバーで示されているように) MFT_STRING 型の場合、GetMenuItemInfo 、cch メニュー項目のテキストの長さに変更されます。 取得したメニュー項目が他の種類の場合は、GetMenuItemInfo cch フィールドを 0 に設定します。

cch メンバーは、fMask メンバーで MIIM_STRING フラグが設定されている場合に使用されます。

hbmpItem

型: HBITMAP

表示するビットマップのハンドル、または次の表のいずれかの値を指定できます。 これは、fMask メンバーで MIIM_BITMAP フラグが設定されている場合に使用されます。

価値 意味
HBMMENU_CALLBACK
((HBITMAP) -1)
メニューを所有するウィンドウによって描画されるビットマップ。 アプリケーションは、WM_MEASUREITEMWM_DRAWITEM メッセージを処理する必要があります。
HBMMENU_MBAR_CLOSE
((HBITMAP) 5)
メニュー バーの [閉じる] ボタン。
HBMMENU_MBAR_CLOSE_D
((HBITMAP) 6)
メニュー バーの閉じるボタンを無効にしました。
HBMMENU_MBAR_MINIMIZE
((HBITMAP) 3)
メニュー バーの最小化ボタン。
HBMMENU_MBAR_MINIMIZE_D
((HBITMAP) 7)
メニュー バーの最小化ボタンを無効にしました。
HBMMENU_MBAR_RESTORE
((HBITMAP) 2)
メニュー バーの [復元] ボタン。
HBMMENU_POPUP_CLOSE
((HBITMAP) 8)
サブメニューの [閉じる] ボタン。
HBMMENU_POPUP_MAXIMIZE
((HBITMAP) 10)
サブメニューの最大化ボタン。
HBMMENU_POPUP_MINIMIZE
((HBITMAP) 11)
サブメニューの最小化ボタン。
HBMMENU_POPUP_RESTORE
((HBITMAP) 9)
サブメニューの [復元] ボタン。
HBMMENU_SYSTEM
((HBITMAP) 1)
windows アイコンまたは dwItemDataで指定されたウィンドウ アイコン。

備考

MENUITEMINFO 構造体は、GetMenuItemInfoInsertMenuItem、および SetMenuItemInfo 関数 使用されます。

メニューには、テキスト、ビットマップ、またはその両方を使用して項目を表示できます。

手記

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

必要条件

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

関連項目

概念

GetMenuItemInfo の

InsertMenuItem の

メニューの

リファレンス

SetMenuItemInfo

WM_DRAWITEM

WM_MEASUREITEM