CheckMenuItem

メニューアイテムのチェックマークの表示状態を変更します。

この関数はSetMenuItemInfo関数に取って代わられましたが、まだ使用できます。

DWORD CheckMenuItem(
    HMENU hMenu,    // メニューハンドル
    UINT  uItemID,  // アイテムのIDまたは位置
    UINT  uCheck    // チェックマークの表示状態
);

USER32.DLL

引数

hMenu

メニューのハンドルを指定します。

uItemID

アイテムIDを指定します。

uCheckパラメータに0x00000400 (MF_BYPOSITION) が指定されている場合は、アイテムの位置を指定します。

uCheck

チェックマークの表示状態を指定します。次のいずれかを指定します。

0x00000000 (MF_UNCHECKED)
アイテムにチェックマークを付けません。
0x00000008 (MF_CHECKED)
アイテムにチェックマークを付けます。

アイテムを指定する方法を表わす以下の値のいずれかを組み合わせて指定します。

0x00000000 (MF_BYCOMMAND)
uItemIDパラメータはメニューアイテムIDを示します。
0x00000400 (MF_BYPOSITION)
uItemIDパラメータはアイテムの位置のインデックスを示します。

戻り値

成功すると以前のアイテムのチェックマークの表示状態(MF_CHECKED, MF_UNCHECKEDのいずれか)が返ります。

失敗すると-1が返ります。

解説

メニューバーのアイテムにチェックマークをつけることはできません。

サブメニューを開くアイテムを指定する場合には、アイテムの位置のインデックスを指定しなければいけません。コマンドアイテムを指定する場合には、アイテムの位置のインデックスとコマンドIDのどちらで指定することもできます。

対応情報

Windows 95 以降 / Windows NT 3.1 以降