VC++深入详解读书笔记-第六章菜单
2014-11-19 13:04
169 查看
1.MFC都是采用大写字母来标识资源ID号。
2.程序中会用到多种资源,在为资源确定其ID号时,为了明确区分资源类型,一般都遵循这样一个原则:在“ID”字符串后加上一个标识资源类型的字母,例如,我们给菜单项制定的这个ID号就是在“ID”字符后加一个字母“M",表示这个是Menu,即菜单资源,光标资源(Cursor)资源,其ID号是在”ID“字符串后加一个字母”C",等等。
3.应用程序框架的MessageBox函数:AfxMessageBox
int AfxMessageBox(LPCTSTR lpszText,UINT nType = MB_OK,UINT nIDHelp = 0 );
4.Windows消息的分类
(1)标准消息
除WM_COMMAND之外,所有以WM_开头的消息都是标准消息。从CWnd派生的类,都可以接收到这类消息。
(2)命令消息
来自菜单、加速键或工具栏按钮的消息。这类消息都以WM_COMMAND形式呈现。在MFC中,通过菜单项的标识(ID)来区分不同的命令消息;在SDK中,通过消息的wParam参数来识别。从CCmdTarget派生的类,都可以接收到这类消息。
(3)通告消息
由控件产生的消息,例如按钮的单击、列表框的选择等都会产生这类消息,目的是为了向其父窗口(通常是对话框)通知事件的发生。这类消息也是以WM_COMMAND形式呈现的。从CCmdTarget派生的类,都可以接收到这类消息。
5.由于CWnd类派生于CCmdTarget,凡是从CWnd派生的类,它们既可以接收标准消息,也可以接收命令消息和通告消息。而对于那些从CCmdTarget派生的类,则只能接收命令消息和通告消息,不能接收标准消息。
6.命令消息的路由
WindowProc函数是CWnd类的一个成员函数
7.分割栏在子菜单中是占据索引位置的。
8.一个子菜单只能有一个默认菜单项。
9.在编程中,除了使用MFC自动创建的IDR_MAINFRAME菜单外,还可以自己创建一个菜单资源并加载,然后调用SetMenu函数,从而使程序的菜单变成自己定义的这个菜单。通过这种方式,可以实现动态更换程序菜单的功能。
10.在设置窗口菜单时,如果定义的是局部菜单对象,则一定要在调用SetMenu函数设置窗口菜单之后,立即调用菜单对象的Detach函数将菜单句柄与菜单对象分离。
11.UPDATE_COMMAND_UI消息的响应只能应用于菜单项,不能应用于永久显示的顶级菜单(即弹出式菜单)项目。
2.程序中会用到多种资源,在为资源确定其ID号时,为了明确区分资源类型,一般都遵循这样一个原则:在“ID”字符串后加上一个标识资源类型的字母,例如,我们给菜单项制定的这个ID号就是在“ID”字符后加一个字母“M",表示这个是Menu,即菜单资源,光标资源(Cursor)资源,其ID号是在”ID“字符串后加一个字母”C",等等。
3.应用程序框架的MessageBox函数:AfxMessageBox
int AfxMessageBox(LPCTSTR lpszText,UINT nType = MB_OK,UINT nIDHelp = 0 );
4.Windows消息的分类
(1)标准消息
除WM_COMMAND之外,所有以WM_开头的消息都是标准消息。从CWnd派生的类,都可以接收到这类消息。
(2)命令消息
来自菜单、加速键或工具栏按钮的消息。这类消息都以WM_COMMAND形式呈现。在MFC中,通过菜单项的标识(ID)来区分不同的命令消息;在SDK中,通过消息的wParam参数来识别。从CCmdTarget派生的类,都可以接收到这类消息。
(3)通告消息
由控件产生的消息,例如按钮的单击、列表框的选择等都会产生这类消息,目的是为了向其父窗口(通常是对话框)通知事件的发生。这类消息也是以WM_COMMAND形式呈现的。从CCmdTarget派生的类,都可以接收到这类消息。
5.由于CWnd类派生于CCmdTarget,凡是从CWnd派生的类,它们既可以接收标准消息,也可以接收命令消息和通告消息。而对于那些从CCmdTarget派生的类,则只能接收命令消息和通告消息,不能接收标准消息。
6.命令消息的路由
WindowProc函数是CWnd类的一个成员函数
7.分割栏在子菜单中是占据索引位置的。
8.一个子菜单只能有一个默认菜单项。
9.在编程中,除了使用MFC自动创建的IDR_MAINFRAME菜单外,还可以自己创建一个菜单资源并加载,然后调用SetMenu函数,从而使程序的菜单变成自己定义的这个菜单。通过这种方式,可以实现动态更换程序菜单的功能。
10.在设置窗口菜单时,如果定义的是局部菜单对象,则一定要在调用SetMenu函数设置窗口菜单之后,立即调用菜单对象的Detach函数将菜单句柄与菜单对象分离。
11.UPDATE_COMMAND_UI消息的响应只能应用于菜单项,不能应用于永久显示的顶级菜单(即弹出式菜单)项目。
相关文章推荐
- 《VC++深入详解》学习笔记 第六章 菜单
- Android入门(44)——第六章 使用OptionsMenu实现选项菜单
- 第六章 菜单
- Unix/Linux下的Curse库开发指南——第六章 菜单开发及应用(1)
- VC++深入详解第六章——菜单编程
- 第六章菜单
- Windows编程基础 第六章 系统菜单 上下文相关菜单 图标 光标 字符串 菜单 加速键
- 第六章 MMI 菜单资源
- 【css技术指南笔记】第六章 导航菜单
- PySide学习笔记第六章-菜单和工具栏
- CSS+DIV+Javascript制作滑动门菜单技术
- Windows添加右键菜单
- 微信公众平台自定义菜单接口开发(1)
- Android Dribbble风格边栏菜单实现
- jQuery实现径向动画菜单效果
- 关于 DrawerLayout 如何全屏显示菜单
- android 3种菜单
- 用C#与XML创建动态分层菜单
- 选择并转移导航菜单
- 修复新建菜单中的“新建文本文档”选项