MFC单文档框架编程(一) ....................................................................................................................... 1. 菜单栏与工具栏具有相同ID,则两个控件执行同样的动作
如菜单项(打开)与工具栏按钮(打开)具有相同的ID (ID_FILE_OPEN),则二者都可实现"打开"的动作,而实现代码只需要在一个控件中实现。
2. 在XXXDoc.h(框架自动生成的Doc)中为类添加数据成员,则该成员可为所有使用该Doc的所有View访问(如程序中的所有View)
如添加变量:
int m_devNumber;
3. 添加菜单项事件处理程序
void CMainFrame::OnFileOpen()
{
// TODO: 在此添加命令处理程序代码
CBrdManageDoc* pDoc=(CBrdManageDoc*)GetActiveDocument();// 获取文档 (CBrdManageDoc为工程Doc名字)
int * pDevNum = &(pDoc->m_devNumber);        //Doc类的成员变量
int Status = realFunction(pDevNum);                    //程序的核心功能函数 对 Doc的成员变量赋值
if (Status == NP_SUCCESS)
{
pDoc->UpdateAllViews(NULL);               //更新所有视图
UpdateData(FALSE);                                 //各控件的内容清空
}
}
4. 在其他view中处理Doc类的数据
如重载CBrdListView的OnUpdate函数:
void CBrdListView::OnUpdate(CView* /*pSender*/, LPARAM /*lHint*/, CObject* /*pHint*/)
{
// TODO: 在此添加专用代码和/或调用基类
CBrdManageDoc* pDoc=(CBrdManageDoc*)GetDocument(); //获取文档指针
if(pDoc->m_devNumber > 0) //添加了数据
{
.......
}
}
5.从上面的过程可以看到,框架下的各种View通过共享一Document,而实现数据共享(消息传递)。

MFC单文档框架编程(二): SDI框架下的消息处理相关推荐

  1. 【数字图像处理】 二.MFC单文档分割窗口显示图片

    本文是讲述<数字图像处理>系列文章,继上篇讲述BMP格式图片和显示后,该篇讲述如何对单文档进行分割.主要是采用CSplitterWnd静态分割窗口显示图片等相关知识.本文主要结合自己的课程 ...

  2. VC++ MFC单文档应用程序SDI下调用glGenBuffersARB(1, pbo)方法编译通过但执行时出错原因分析及解决办法:glewInit()初始化的错误...

    1.问题症状 在VC++环境下,利用MFC单文档应用程序SDI下开发OpenGL程序,当调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错,出错代码如下: OpenG ...

  3. MFC单文档及其简介

    MFC单文档及其简介 MFC 是一个编程框架 MFC 中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来 建立Windows 下的应用程序.MFC 框架定义了应用程序的轮廓,并 ...

  4. VC6.0 MFC 单文档 机器人巡检

    机器人巡检 一.整体框架 主要包括三个类:场景类(CChangJing):机器人类(小车(CCar).无人机(CWuRenJi)):煤气泄露类(CMeiQiXieLou). 二.场景类 目标主要是数据 ...

  5. MFC单文档应用程序的基础

    一.口令对话框 例题1:编写一个单文档应用程序,在视图中显示自己的姓名:单击鼠标左键,在消息框中显示 鼠标左键被按下的次数:单击鼠标右键,在消息框中显示鼠标右键被按下的次数. 操作步骤: 1.创建一个 ...

  6. MFC 学习笔记(一):MFC单文档程序运行流程梳理与总结

    MFC 学习笔记(一):MFC单文档程序运行流程梳理与总结 1.MFC单文档程序运行流程 1.首先利用全局变量对象 theApp 启动应用程序 (这是因为这个全局对象,基类CWinApp中 this ...

  7. OpenGL MFC单文档 实现轨迹球

    OpenGL MFC单文档 实现轨迹球 前言:我是一个怀揣着伟大梦想的普通男生!结果就是,一有时间就幻想着自己的伟大梦想,忘了自己下一步该迈出左脚还是右脚.这不,只顾做梦了,时光可不管我,独自一个人走 ...

  8. 【整理】MFC单文档程序窗口大小的设置

    有时候根据实际需要,比如MFC单文档程序视图里内容少.空白一大半,需要调整MFC单文档程序窗口大小.限制单文档的最大最小尺寸. 1.  要控制一个框架的的最大最小尺寸,需要做两件事情,在CFrameW ...

  9. VC6.0 MFC 单文档 五子棋游戏 基础入门

    五子棋游戏 一.整体思路 1.目的:通过五子棋,掌握面向对象的思想,这是我们的目的.提升分析问题.解决问题的能力,在做项目之前要有一个系统的思路,第一步干什么,第二步干什么-- 2.思路:拿到这个问题 ...

最新文章

  1. 单片机I/O控制方式(UART中断和DMA中断的区别)
  2. eslint airbnb 不允许尾随逗号
  3. MySQL基础篇(07):用户和权限管理,日志体系简介
  4. Spring Boot 学习之,AOP统一处理请求日志
  5. 西瓜书《机器学习》线性模型 对数几率(逻辑)回归公式推导
  6. 如何设置Windows 8开始画面中瓷贴最大行数
  7. 第 6 章 存储 - 039 - Data Volume 之 bind mount
  8. jQuery给页面弹出层添加半透明背景
  9. 小米android10升级版本,小米9 MIUI安卓10开发版已开始推送,建议大家不要去升级!...
  10. 骁龙870相当于什么处理器 骁龙870什么水平
  11. houdini节点大全中文手册_【技术贴】武林秘籍在此!大咖座谈虚幻引擎制作影视动画经验!...
  12. html5画布画出折线图,canvas 画出动态折线图
  13. DDD领域驱动实现概要设计
  14. 交易订单处理失败,请稍后再试(ali64)
  15. 【BZOJ1818】【CQOI2010】【XSY2428】内部白点(树状数组+扫描线)
  16. 重装系统失败解决办法|修复方法
  17. Mission planner加载天地图(混合卫星地图含标注)
  18. 初级会计实务--第五章第一节、收入
  19. leetcode6-zigzag conversion
  20. STM32F103-LCD1602驱动

热门文章

  1. pci规划的三个原则_NR PCI规划
  2. 远程服务器系统管理,如何远程管理服务器系统(转载)
  3. 卷积滤波 英文_《信号与系统》专业术语中英文对照表
  4. 利用SIFt特征点和RANSAC方法进行物体识别(利用openCV和vs2010实现)
  5. git-flow 流程 备忘清单
  6. Log4j详细介绍(七)----日志格式化器Layout
  7. 编辑从字节码和 JVM 的角度解析 Java 核心类 String 的不可变特性
  8. 简明 Python 编程规范v2
  9. 鸟哥的Linux私房菜(服务器)- 主机基本安全之二: Linux线上自动升級
  10. 微信分享链接时,怎样才能带上带缩略图和简介?