MFC中菜单的命令响应顺序
响应只可以由Doc,View,MainFrame以及APP四个类完成。
响应顺序是:
点击某菜单项,框架类最先接到菜单命令消息。
框架类把接收到得这个消息交给它的子窗口,即视图类。
视图类根据命令消息映射机制查找自身是否对此消息进行了响应,如果响应了,就调用相应响应函数对这个消息进行处理,消息路由过程结束。
如果视图类未对此消息响应,交给文档类,文档类同样查找自身是否对此消息进行了响应。
如果文档类为作出响应,再交还给视图类,视图类把它交还给框架类。
框架类查看自身,如果未响应,就把该菜单消息命令交给应用程序类进行处理。
如果需要交给某个子窗口响应,可以先交给MainFrame类响应,再在响应函数中调用子窗口的成员函数
MFC中菜单的命令响应顺序的更多相关文章
- MFC中菜单变灰的问题
MFC中菜单变灰 方法1:有UpdateCmdUI句柄时 定义一个BOOL变量m_b来标志菜单项是否有效, 该菜单项响应UPDATE_COMMAND_UI消息,在消息处理函数中pCmdUI->E ...
- [原]MFC中DIALOG(对话框)程序响应加速键(快捷键)
[原]MFC中DIALOG(对话框)程序响应加速键(快捷键) 2014-8-6阅读266 评论0 新建一个对话框程序,项目名为Test,删除默认确定,取消和静态文本框控件.添加一个按钮,Caption ...
- MFC中成员变量的声明顺序与析构顺序
第一次用博客,第一篇随笔,就写今天遇到的一个问题吧. 在VS2008的MFC对话框程序,窗口成员变量的声明顺序与其析构顺序相反,即,先声明的变量后析构,后声明的变量先析构.未在其他模式下测试. cla ...
- 在MFC中显示cmd命令行
添加函数 void InitConsoleWindow1() { ; FILE* fp; AllocConsole(); nCrt = _open_osfhandle((long)GetStdHand ...
- MFC之菜单
1菜单与菜单项的操作 //获取菜单指针----CWnd::GetMenu() //GetSubMenu()获取子菜单 /CheckMenuItem()加入/取消标记 GetMenu()->Get ...
- MFC中用户自定义类响应自定义消息
这篇技术文章不是讨论经典的MFC中的消息工作机理的,讨论消息工作原理.方式和路径的文章在网上和书本中随处可见.网上众多的讨论都是关于如何响应并进行用户自定义消息映射的:网上还有一些文章介绍如何在自定义 ...
- django中“url映射规则”和“服务端响应顺序”
1.django搜索路径 使用 import 语句时,Python 所查找的系统目录清单. 查看方式: import sys print sys.path ...
- MFC中消息响应机制
由于视类窗口始终覆盖在框架类窗口之上,因此所有操作,包括鼠标单击.鼠标移动等操作都只能由视类窗口捕获.一个MFC消息响应函数在程序中有三处相关信息:函数原型.函数实现和以及用来关联消息和消息响应函数的 ...
- MFC中窗口启动后,CEdit编辑框默认光标位置设置,顺序的调节方法
MFC中窗口启动后,CEdit编辑框默认光标位设置,顺序的调节方法 在编辑界面按下ctrl+D键,就会出现所有控件的Tab键顺序,按照自己想要的顺序依次点击控件,就可以重新安排顺序.数值1就是默认停留 ...
随机推荐
- Golang 网络爬虫框架gocolly/colly 四
Golang 网络爬虫框架gocolly/colly 四 爬虫靠演技,表演得越像浏览器,抓取数据越容易,这是我多年爬虫经验的感悟.回顾下个人的爬虫经历,共分三个阶段:第一阶段,09年左右开始接触爬虫, ...
- JMeter数据库操作详解
Jmeter提供了JDBC连接的插件,通过执行SQL语句的java API,实现对数据库的访问和查询,同时可以操作一次向数据库插入上百条上千条数据. 一.安装驱动包 将需要连接JDBC的jar包放入j ...
- jquery通过ajax查询数据动态添加到select
function addSelectData() { //select的id为selectId //清空select中的数据 $("#selectId").empty(); $.a ...
- 系统 TIME_WAIT累积与端口耗尽的问题
调整内核参数 net.ipv4.tcp_tw_reuse = net.ipv4.tcp_tw_recycle = 这两个参数可以让 tcp 连接回收.再利用. 摘录 『HTTP 权威指南』page ...
- php 事务处理transaction
MySQL 事务主要用于处理操作量大,复杂度高的数据.比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成 ...
- 【Python3之字符编码】
一.字符集和字符编码 1.定义 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的英文.汉字等字符是二进制数转换之后的结果.通俗的说,按照何种规则将字符存储在计算机中,如'a'用什么表示,称 ...
- TensorBoard的使用(结合线性模型)
TensorBoard是TensorFlow 的可视化工具.主要为了更方便用户理解 TensorFlow 程序.调试与优化,用户可以用 TensorBoard 来展现 TensorFlow 图像,绘制 ...
- mysql自连接求累计金额
- opencv提供的带参数例程
body { font-family: @微软雅黑; font-size: 8pt; line-height: 1.5 } html,body { color: inherit; background ...
- Mark下js最大精确整数范围,业务中出现的疑难bug
今天在跟后端联调中,偶然发现几个数据的id居然一样,我就询问了下后端这是什么情况,然而后端告诉我说并没有相同的id,于是开始一起排查问题. 排查中发现,从后端拿来的数据在浏览器控制台NetWork ...