プラットフォーム SDK
CheckMenuRadioItem
指定された 1 つのメニュー項目の隣に、オプションボタン(ラジオボタン)に類似した黒丸を表示します。同時に、関連するグループ内の他のすべてのメニュー項目のチェックマークまたは黒丸をクリアし、それらのメニュー項目のオプションボタンタイプフラグをクリアします。
|
BOOL CheckMenuRadioItem(
HMENU hmenu, // メニューのハンドル
UINT idFirst, // 最初の項目の識別子または位置
UINT idLast, // 最後の項目の識別子または位置
UINT idCheck, // メニュー項目の識別子または位置
UINT uFlags // 関数のオプション
); |
パラメータ
- hmenu
- メニュー項目のグループを保持しているメニューのハンドルを指定します。
- idFirst
- グループ内の最初のメニュー項目の識別子または位置を指定します。
- idLast
- グループ内の最後のメニュー項目の識別子または位置を指定します。
- idCheck
- チェックする(オンにする)べきメニュー項目の識別子または位置を指定します。
- uFlags
- idFirst、idLast、idCheck の各パラメータの意味を指定します。MF_BYCOMMAND を指定すると、それらのパラメータはメニュー項目の識別子を意味します。MF_BYPOSITION を指定すると、それらのパラメータはメニュー項目の位置を意味します。
戻り値
関数が成功すると、0 以外の値が返ります。
関数が失敗すると、0 が返ります。拡張エラー情報を取得するには、 関数を使います。
解説
プルダウンメニューの中で、特定のメニュー項目がトグル状態(オンかオフのどちらか)を意味することがあります。たとえば、Microsoft Word 95(Word 7.0)の[罫線]-[表のグリッド線]は、チェックマークが付いているときは表の各セルを囲む罫線(グリッド)を表示し、チェックマークが付いていないときはグリッドを表示しません。(Microsoft Word 97 の[罫線]-[表のグリッド線の表示]/[表のグリッド線を表示しない]はこれをカスタマイズしたものです。ビットマップのカスタマイズの詳細については、SetMenuItemBitmaps 関数を参照を参照してください。)しかし、いくつかのメニュー項目がグループ化されていて、そのうちどれか 1 つだけを選択できることもあります。この場合、どれか 1 つだけを選択できることを示すには、チェックマークではなくオプションボタンと同様の黒丸を使う方が良いと考えることがあります。ちょうどダイアログボックス内で、複数の項目を任意の組み合わせで指定できるチェックボックスに対し、複数の項目のうちどれか 1 つだけを指定できるオプションボタンを用意することに似ています。たとえば、Microsoft Word 95 の[表示]メニューにある[標準]、[アウトライン]、[ページレイアウト]、[マスター文書]がこれに該当します。(Microsoft Word 97 の[表示]メニューは[グループ文書]を追加し、これらをカスタマイズしたものです。)チェックマークを黒い丸へ切り替えるのが、この関数の主な役割です。
CheckMenuRadioItem 関数は、idCheck パラメータで指定された 1 つのメニュー項目に対し、MENUITEMINFO 構造体の fType メンバの MFT_RADIOCHECK タイプフラグと、fState メンバの MFS_CHECKED 状態フラグの両方を指定します(前者はマークのタイプをチェックマークではなく黒い丸に決定、後者は選択状態をオンにします)。同時に、グループ内の他のすべてのメニュー項目の MFS_CHECKED 状態フラグをクリアします(MFS_UNCHECKED 状態フラグを指定し、選択解除します)。同時に、グループ内の他のすべてのメニュー項目で、これら両方のフラグをクリアします。選択されている 1 つのメニュー項目の隣には、チェックマークではなく黒い丸が表示されます。他のメニュー項目の隣には、チェックマークも黒い丸も表示されません。
メニュー項目のタイプフラグと状態フラグの詳細については、MSDN ライブラリの 構造体を参照してください。
対応情報
Windows NT/2000:Windows NT 4.0 以降
Windows 95/98:Windows 95 以降
ヘッダー:Winuser.h 内で宣言、Windows.h をインクルード
インポートライブラリ:User32.lib を使用
参照