MENUITEMINFO構造体

宣言文
Type MENUITEMINFO
    cbSize As Long             構造体のバイト数
    fMask As Long              取得する情報を指定する定数の組み合わせ
    fType As Long              メニュー項目のタイプを指定する定数の組み合わせ
    fState As Long             メニューの状態を指定する定数の組み合わせ
    wID As Long                ユーザー定義のメニュー項目のID
    hSubMenu As Long           指定のメニュー項目と関連するサブメニューのハンドル
                               (サブメニューをもたないとき0)
    hbmpChecked As Long        チェックマーク用のビットマップのハンドル
                               (0のときデフォルトのチェックマークを使用)
    hbmpUnChecked As Long      未チェック時のときのビットマップハンドル
                               (同上)
    dwItemData As Long         メニュー項目と関連するユーザー定義の値
    dwTypeData As Long         メニュー項目のタイプ
                               (fMaskにMIIM_TYPEを指定したときのみ有効)
    cch As Long                メニュー項目のテキストのバイト数
                               (fMaskにMIIM_TYPEを設定したときのみ有効)
End Type
fMaskの定数
MIIM_CHECKMARKS = &H8           hbmpCheckedとhbmpUncheckedメンバ
MIIM_DATA = &H20                dwItemDataメンバ
MIIM_ID = &H2                   wIDメンバ
MIIM_STATE = &H1                fStateメンバ
MIIM_SUBMENU = &H4              hSumMenuメンバ
MIIM_TYPE = &H10                fTypeとdwTypeDataメンバ

fTypeの定数
MFT_BITMAP = &H4               メニュー項目はビットマップ
                               dwTypeDataの下位ワードにビットマップのハンドルを設定
                               cchは無視
MFT_MENUBARBREAK = &H20        メニューバーのとき、指定の位置でメニューバーを改行する
                               (2段にする)
                               サブメニューのとき、垂直線で区切って新しい列を作成する
MFT_MENUBREAK = &H40           メニューバーのとき改行
                               サブメニューのとき、新しい列を作成する
                               (区切り線はなし)
MFT_OWNERDRAW = &H100          オーナ描画メニュー
MFT_RADIOCHECK = &H200         チェックマークの変わりに丸ボタンマークを使用する
                               (hbmpChecked=0にする)
MFT_RIGHTJUSTIFY = &H4000      メニューバーのメニュー項目を右揃え
MFT_RIGHTORDER = &H2000        メニューは右から左に開く(アラビア語・ヘブライ語対応)
MFT_SEPARATOR = &H800          メニュー項目はセパレータである(dwTypeDataとcchは0)
MFT_StrING = &H0               メニュー項目に文字列を表示
                               (dwTypeDataは文字列へのポインタ,cchはバイト数)

fStateの定数
MFS_CHECKED = &H8              メニュー項目にチェックマークをつける
MFS_DEFAULT = &H1000           デフォルトであることを示すために太字で表示される
MFS_DISIBLED = &H3             無効
MFS_ENABLED = &H0              有効(選択可能)
MFS_GRAYEED = &H3              無効(グレー表示され、選択できない)
MFS_HILITE = &H80              強調表示する
MFS_UNCHEKCED = &H0            メニュー項目をチェックしない
MFS_UNHILITE = &H0             メニューは通常の表示
Structure MENUITEMINFO
    cbSize As Integer             構造体のバイト数
    fMask As Integer              取得する情報を指定する定数の組み合わせ
    fStructure As Integer              メニュー項目のタイプを指定する定数の組み合わせ
    fState As Integer             メニューの状態を指定する定数の組み合わせ
    wID As Integer                ユーザー定義のメニュー項目のID
    hSubMenu As Integer           指定のメニュー項目と関連するサブメニューのハンドル
                               (サブメニューをもたないとき0)
    hbmpChecked As Integer        チェックマーク用のビットマップのハンドル
                               (0のときデフォルトのチェックマークを使用)
    hbmpUnChecked As Integer      未チェック時のときのビットマップハンドル
                               (同上)
    dwItemData As Integer         メニュー項目と関連するユーザー定義の値
    dwTypeData As Integer         メニュー項目のタイプ
                               (fMaskにMIIM_TYPEを指定したときのみ有効)
    cch As Integer                メニュー項目のテキストのバイト数
                               (fMaskにMIIM_TYPEを設定したときのみ有効)
End Structure