My study of VC++ ( Command and Menu refered )
来源:互联网 发布:高达00剧场版知乎 编辑:程序博客网 时间:2024/05/22 13:44
1。命令处理
- ON_COMMAND消息映射。派生类将继承父类的所有消息映射函数
- ON_UPDATE_COMMAND_UI。更新命令用户界面处理程序。在第一次显示弹出式菜单时被调用,修改菜单项的外观。例子:
在头文件中加入: afx_msg void OnUpdateZoom(CCmdUI *pCmdUI);
在视中加入: ON_UPDATE_COMMAND_UI(IDM_ZOOM, OnUpdateZoom) 以及
void CMyView::OnUpdateZoom(CCmdUI *pCmdUI)
{
pCmdUI->SetCheck(m_bZoomed);
}
- 对话框发送的命令。假定有一个弹出式对话框,上面有按钮,用按钮发送命令消息。 命令的ID必须在0x8000到0xDFFF的范围之内,这个范围与资源编辑器为菜单项使用的ID范围是相同的。如此,该按钮将产生一个可以传递的命令。应用程序框架首相将这个命令传递到主框架窗口,这是因为框架窗口拥有所有的弹出式对话框。命令传递随后正常进行;如果视图具有该按钮命令的处理程序,那么这就是处理它的地方。
2。应用程序框架的内置菜单项
- 启用/禁止菜单项。如果应用程序框架没有在命令传递中找到命令消息,它可以禁止该菜单项。利用这一功能,我们就不必编写ON_UPDATE_COMMAND_UI了。
3。CMenu类
- 菜单对象是由子菜单的嵌套结构组成的。可以使用GetSubMenu成员函数来获得指向弹出式菜单的CMenu指针,该菜单包含在主Menu对象中。CMenu::GetMenuString函数返回相应的菜单项字符串
- 创建浮动的弹出式菜单。利用资源编辑器和MFC库的CMenu::TrackPopMenu函数,我们可以很容易的创建这些菜单。步骤如下
1. 插入一个新菜单
2. 增加弹出式菜单
3. 在视图类或某个接受鼠标消息的窗口类中添加WM_CONTEXTMENU消息。
void CMyView::OnContextMenu(CWen *pWnd, CPoint point)
{
CMenu menu;
menu.LoadMenu(IDR_MYFLOATINGMENU);
menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, this);
}
4。 扩展命令处理
- ON_COMMAND消息提供了两个功能:1. 命令ID函数参数; 2. 在运行时拒绝接受命令
- 在一个处理函数响应几个ID时有用
- My study of VC++ ( Command and Menu refered )
- My study of VC++ ( FrameWnd and toobar refered )
- My study of VC++ ( Paint refered )
- My study of VC++ ( Doc&View&FrameWnd refered )
- command of my sql
- My Study experience of Design and Analysis of Algorithms (Part 1)
- My Study experience of Design and Analysis of Algorithms (Part 2)
- Case Study: A kind of Radial Menu
- The end of my freshman study...
- My Menu
- My study note of PHP language(I)
- My study note of PHP language(II)
- My study note of PHP language(III)
- My study note of PHP language(IV)
- My study note of PHP language(V)
- bone of my bones and flesh of my flesh
- Start to record my questions and solutions on my paleoanthropology study
- Cocos study notes-Menu
- J2ME开发中的好习惯
- nt下超强的杀进程命令ntsd
- 日货列表
- 在较低配置的硬件环境下运行WebLogic WorkShop 8.1 开发环境和服务器
- 在华日企列表
- My study of VC++ ( Command and Menu refered )
- 正则表达式经典
- 两分钟让你明白什么是ERP!
- 大家一起来编程第十期
- 我们开发的一个图像处理软件(原创)
- 从CString 到 到数值的转换小方法 (原创)
- AppFace ,将美工和编程完全分开 - 一种全新的软件界面解决方案
- 业界网址收藏
- 2005.04.28 晴 - 无聊的一天