Cmenu类方法判断弹出按钮选中状态并做相应处理
来源:互联网 发布:网络电视都是带蓝牙么 编辑:程序博客网 时间:2024/06/02 04:48
此方法实现每次点击菜单项时,使其选中的菜单项,打√标记,并设置到Disable状态.
在菜单项的响应函数中调用,形参传递对应的ID即可!
CMenu* pSubMenu=NULL; UINT Sub_IndexMax=0; pSubMenu = CMenu::FromHandle(GetSkinMenu(m_pMainWnd->m_hWnd))->GetSubMenu(1); Sub_IndexMax = pSubMenu->GetMenuItemCount(); MENUITEMINFO info; info.cbSize = sizeof (MENUITEMINFO); // must fill up this field info.fMask = MIIM_STATE | MIIM_ID; // get the state and the id of the menu item for (UINT cout =0; cout < Sub_IndexMax; cout++) { VERIFY(pSubMenu->GetMenuItemInfo(cout, &info,TRUE)); if (info.wID == m_ID) { pSubMenu->CheckMenuItem(m_ID,MF_BYCOMMAND | MF_CHECKED); //打√ pSubMenu->EnableMenuItem(m_ID,MF_DISABLED | MF_GRAYED); //Disable menu continue; } if (info.fState & MF_CHECKED) pSubMenu->CheckMenuItem(cout, MF_UNCHECKED | MF_BYPOSITION); if (info.fState & (MF_DISABLED | MF_GRAYED)) pSubMenu->EnableMenuItem(cout,MF_ENABLED | MF_BYPOSITION); }
说明:
pSubMenu = CMenu::FromHandle(GetSkinMenu(m_pMainWnd->m_hWnd))->GetSubMenu(1);
//作为CwinApp的成员函数,pSubMenu指向要处理的菜单项,GetSkinMenu为Skin类成员函数,在使用skin美化之后需要这样处理(具体请看上篇文章描述)
SkinMagic使用后按钮加自定义图标或菜单GetMneu返回NULL的解决方法
Sub_IndexMax = pSubMenu->GetMenuItemCount(); //调用Cemnu成员函数获取菜单项数量
info.fMask = MIIM_STATE | MIIM_ID; // 使其返回菜单状态及ID信息
//m_ID为菜单项的ID号
if (info.wID == m_ID)
{
pSubMenu->CheckMenuItem(m_ID,MF_BYCOMMAND | MF_CHECKED); //打√
pSubMenu->EnableMenuItem(m_ID,MF_DISABLED | MF_GRAYED); //变灰及取消选中状态
continue;
}
//每次选中任意菜单项前,先初始化所有菜单项的状态
if (info.fState & MF_CHECKED)
pSubMenu->CheckMenuItem(cout, MF_UNCHECKED | MF_BYPOSITION);
if (info.fState & (MF_DISABLED | MF_GRAYED))
pSubMenu->EnableMenuItem(cout,MF_ENABLED | MF_BYPOSITION);
- Cmenu类方法判断弹出按钮选中状态并做相应处理
- javascript 判断radio单选按钮是否为选中状态,并弹出选中值
- JS 判断 Radio 单选按钮是否为选中状态 并弹出 值信息
- JS 判断 Radio 单选按钮是否为选中状态 并弹出 值信息
- 购物车 全选按钮 选中状态 判断
- eureka监听各服务状态,下线、重连等,并做相应的处理
- CoreThink开发(十一)首页控制器判断移动设备还是PC并做相应处理
- C# ListView 选中状态的判断方法
- 弹出键盘遮挡按钮的处理方法
- NetSdkDe2.0 右键弹出cmenu菜单类
- 判断checkbox选中状态
- jquery判断单选按钮radio是否选中的方法
- jquery判断单选按钮radio是否选中的方法
- CompoundButton 选中/未选中状态的按钮
- 打开文件夹并选中相应的文件
- CMenu创建弹出菜单
- 截获按键,做相应处理。
- 单选按钮选中判断
- device eth0 does not seem to be present, delaying initialization(linux)
- Android Studio使用说明
- 用Credential Harvester Attack Method登录人人网
- JAVA笔记一(01-06 java的基本概念和数据类型)
- 【C++】cstddef中4个定义
- Cmenu类方法判断弹出按钮选中状态并做相应处理
- 算法导论(第二版)练习 32.1-2/3
- 下载的GHOST重新系统之后,四个盘的硬盘分区变成了一个,(只剩下一个C盘,容量为整个硬盘的容量)以前的资料不见了
- 每日一题(12) - 判断有环单链表的链表长度
- 创建url桌面快捷键
- cocos2d-x中的序列帧动画实现
- 基于ArcEngine+C#设计与开发国土资源一张图空间数据管理平台软件
- 如何利用 JConsole观察分析Java程序的运行,进行排错调优
- 一个document.documentElement.clientWidth为0的问题