MENUITEMINFO構造体

typedef struct tagMENUITEMINFO {
UINT cbSize; //構造体のサイズ、構造体の使用前に設定
UINT fMask; //設定・変更用フラグ、構造体の使用前に設定
UINT fType; //メニュー項目の種類
UINT fState; //メニュー項目の状態
UINT wID; //アプリケーション定義の16ビット値
HMENU hSubMenu; //サブメニューのハンドル、なければNULL
HBITMAP hbmpChecked; //チェック用画像のハンドル
HBITMAP hbmpUnchecked; //チェックオフ用画像のハンドル
DWORD dwItemData; //項目に結び付けられたアプリケーション定義の値
LPTSTR dwTypeData; //ヌル文字で終わる文字列
UINT cch; //dwTypeDataの長さ
} MENUITEMINFO, FAR *LPMENUITEMINFO;

 fMask
定数 取得、またはセットするメンバ
MIIM_CHECKMARKS hbmpChecked と hbmpUnchecked
MIIM_DATA dwItemData
MIIM_ID wID
MIIM_STATE fState
MIIM_SUBMENU hSubMenu
MIIM_TYPE fType と dwTypeData
GetMenuItemInfo()で取得する場合、先にdwTypeDataをNULLにする


fType
定数 解説
MFT_BITMAP ビットマップのメニューを表示
dwTypeDataメンバーの下位ワードにビットマップのハンドルを指定します
cchは無視されます
MFT_MENUBARBREAK メニューバーの新しいラインにメニュー項目を配置
MFT_MENUBREAK メニューの新しいラインに項目を配置
MFT_OWNERDRAW オーナー描画メニュー
描画責任がメニューを所持するウィンドウに割り当てられる
MFT_RADIOCHECK チェックマークではなく、ラジオボタンマークを使って
メニュー項目をチェックする
MFT_RIGHTJUSTIFY 右揃えする
メニュー項目がメニューバーにある時のみ有効
MFT_RIGHTORDER Windows95 , NT5.0 以降
アラビア語など、右から左に読む言語をサポートする
MFT_SEPARATOR セパレータであることを表す
MFT_STRING 文字列のメニューであることを表す
dwTypeDataメンバーはヌルで終わる文字列へのポインタ
cchメンバーは文字列の長さである

fState
定数 解説
MFS_CHECKED 項目をチェックする
MFS_DEFAULT 項目はデフォルトである
MFS_DISABLED 項目を無効状態にする
MFS_ENABLED 項目を有効状態にする(デフォルト)
MFS_GRAYED 項目をグレー状態にする
MFS_HILITE 項目をハイライト状態にする
MFS_UNCHECKED 項目のチェックを外す
MFS_UNHILITE 項目のハイライトを削除する