VC 系统菜单打勾,MFC Dialog SYS menu check CheckMenuItem
2013-09-04 16:45
1506 查看
【blog.csdn.net/lanmanck】
在系统添加菜单就比较容易了,使用VC的新建工程向导,有一个“系统菜单”,勾上后出来的工程就是有系统菜单“about”选项滴,仿照做一个即可。
那么如何在系统的自定义菜单上打勾呢?搜索了半天,都不是系统菜单上的,其实也很简单,普通的菜单是
GetMenu->GetSubMenu->CheckMenuItem();
那么系统菜单就是,顺便做一个“On top”的项,直接拿去用了:
Esay否?
在系统添加菜单就比较容易了,使用VC的新建工程向导,有一个“系统菜单”,勾上后出来的工程就是有系统菜单“about”选项滴,仿照做一个即可。
那么如何在系统的自定义菜单上打勾呢?搜索了半天,都不是系统菜单上的,其实也很简单,普通的菜单是
GetMenu->GetSubMenu->CheckMenuItem();
那么系统菜单就是,顺便做一个“On top”的项,直接拿去用了:
/* 响应系统菜单 */ void CClass::OnSysCommand(UINT nID, LPARAM lParam) { static bool bIsOnTop = false; CMenu* pSysMenu = GetSystemMenu(FALSE); if ((nID & 0xFFF0) == IDI_SYS_MENU_ONTOP){ if(bIsOnTop == false){ bIsOnTop = true; if (pSysMenu != NULL){ pSysMenu->CheckMenuItem(nID,MF_CHECKED); } }else{ bIsOnTop = false; if (pSysMenu != NULL){ pSysMenu->CheckMenuItem(nID,MF_UNCHECKED); } } ::SetWindowPos(m_hWnd , /* handle to window */ bIsOnTop==false?HWND_NOTOPMOST:HWND_TOPMOST, /* placement-order handle */ 0, /* horizontal position */ 0, /* vertical position */ 0, /* width */ 0, /* height */ SWP_NOMOVE|SWP_NOSIZE /* window-positioning options*/); } else{ CDialogEx::OnSysCommand(nID, lParam); } }
Esay否?
相关文章推荐
- VC++ MFC 系统菜单添加子菜单 CMENU submenu GetSystemMenu
- MFC 如何给Dialog 显示Menu菜单。
- AutoIT: 对文件系统的菜单进行操作,有专门的语句WinMenuSelectItem
- 孙鑫VC++深入详解:Lesson6 Part1 -- CheckMenuItem,子菜单项上添加位图,禁用子菜单项,删除整个菜单,和加载菜单
- VC MFC系统托盘右键菜单,鼠标点击非菜单区域使菜单消失的问题
- MFC EnableMenuItem_使能菜单
- Win32汇编--菜单进阶之菜单的单选与多选(CheckMenuItem&CheckMenuRadioItem)
- 基于文档的MFC项目中 系统菜单设置check
- MFC API——》CheckMenuItem
- 探究MFC之Dialog系统菜单添加
- 关于windows mobile的MFC DIALOG模式下菜单问题
- VC/MFC列表CListCtrl类的LVCOLUMN和LVITEM详解
- MFC_CMenu_AppendMenu_基于dialog的动态创建menu
- Android自定义Dialogの仿ios系统底部菜单(自下而上弹出)
- VC++MFC对话框应用程序实现程序最小化到系统托盘
- VC如何定制对话框系统菜单
- 用EnableMenuItem不能使菜单变灰的原因
- Android点击MENU,返回键弹出的退出按钮退出系统方法及拦截MENU弹出菜单方法
- C++ CheckMenuItem
- VC++课程设计:动漫新番信息管理系统(MFC+数据库ODBC接口)+外加两个副作品