CMenu::CheckMenuRadioItem 是 MFC(Microsoft Foundation Classes)中的 CMenu 类的一个公共方法,用于在菜单中设置一组连续的菜单项为选中状态中的一个。以下是 CheckMenuRadioItem 方法的声明:
BOOL CheckMenuRadioItem(
   _In_ UINT nIDFirst,
   _In_ UINT nIDLast,
   _In_ UINT nIDItem,
   _In_ UINT nFlags
);

  •  nIDFirst:组中的第一个菜单项的命令标识符。

  •  nIDLast:组中的最后一个菜单项的命令标识符。

  •  nIDItem:要设置为选中状态的菜单项的命令标识符。

  •  nFlags:指定操作的标志,可以是以下值之一:

  - MF_BYCOMMAND:按命令标识符进行操作。
  - MF_BYPOSITION:按位置进行操作。

该方法返回一个 BOOL 类型的值,表示操作是否成功。

示例:
CMenu myMenu;
myMenu.CreatePopupMenu();  // 创建一个弹出菜单

// 在菜单中追加一组互斥的菜单项
myMenu.AppendMenu(MF_STRING, ID_MENU_ITEM1, _T("Item 1"));
myMenu.AppendMenu(MF_STRING, ID_MENU_ITEM2, _T("Item 2"));
myMenu.AppendMenu(MF_STRING, ID_MENU_ITEM3, _T("Item 3"));

// 设置菜单项为选中状态
myMenu.CheckMenuRadioItem(ID_MENU_ITEM1, ID_MENU_ITEM3, ID_MENU_ITEM2, MF_BYCOMMAND);

// 使用 myMenu 对象进行其他操作...

在这个示例中,首先创建了一个弹出菜单 myMenu,然后在菜单中追加了一组互斥的菜单项。接着使用 CheckMenuRadioItem 方法将菜单项设置为选中状态中的一个,同时确保只有一个菜单项被选中。这只是 CMenu 类的一个基本用法,实际使用时可能会结合其他操作进行更复杂的菜单管理。


转载请注明出处:http://www.zyzy.cn/article/detail/18941/MFC/CMenu