GetMenuItemCount函数不接受1个参数,检查上述代码
时间: 2024-02-26 11:57:50 浏览: 46
API手册—C++经典
非常抱歉,我的回答有误。您是正确的,GetMenuItemCount 函数不接受参数。在 VS2010 中,您可以使用以下代码获取当前选中菜单项的序号:
```cpp
CMenu* pMenu = GetMenu();
if (pMenu != NULL)
{
UINT uState = pMenu->GetMenuState(nID, MF_BYCOMMAND);
// 检查菜单项是否被选中
if ((uState & MF_CHECKED) != 0)
{
// 获取当前选中菜单项的序号
int nMenuItemCount = pMenu->GetMenuItemCount();
int nSelectedItem = -1;
for (int i = 0; i < nMenuItemCount; i++)
{
if ((uState = pMenu->GetMenuState(i, MF_BYPOSITION)) != 0 && (uState & MF_CHECKED) != 0)
{
nSelectedItem = i;
break;
}
}
}
}
```
其中,nID 是当前菜单项的 ID。这个示例代码假设菜单项没有子菜单。如果菜单项有子菜单,您需要递归地遍历子菜单以获取当前选中菜单项的序号。
阅读全文