MFC浅析(3) 文档视图结构中命令的处理流程

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

文档视图结构中命令的处理流程

FMD(http://www.fmdstudio.net)

(以MDI文档视图结构为例)

在应用程序的界面上,包含菜单、工具条等元素,当选取这些元素后,将发送一个命令给程序。 同时,还有命令发送的其它形式,例如快捷键等等。

在文档视图结构中,程序包括一个主框架窗口,而具体打开的文件则包括其数据对象(CDocument) 表现形式(CView),和窗口容器(CFrameWnd)等几个相关对象。命令发送后,将按照一定的流向传达 给指定的对象,由对象内成员函数响应解决。

一 命令的发送

在菜单或工具条上按下某项,(或按了对应的热键)将向窗口发送一个WM_COMMAND消息

WM_COMMAND 参数包括3部分:
 wNotifyCode = HIWORD(wParam); // 来源类型 
 wID = LOWORD(wParam);         // 命令ID
 hwndCtl = (HWND) lParam;      // 来源窗口

其中最重要的就是wID,它就是具体的命令。数值就是菜单项、工具按钮、或按键组合的ID_?????。

在CWnd对象中,WM_COMMAND由OnCmdMsg()响应处理。

在MFC程序框架中,OnCmdMsg()当前将命令按特定流程发送给特定的对象处理。

二 命令ID

通常,命令ID 的数值范围为:0x8000 -> 0xDFFF

// 8000 -> DFFF : user commands
MFC文档视图结构学习笔记 文档/视图概述 为了统一和简化数据处理方法,Microsoft公司在MFC中提出了文档/视图结构的概念,其产品Word就是典型的文档/视图结构应用程序 MFC通过其文档类和视图类提供了大量有关数据处理的方法 分为数据的管理和显示,文档用于管理和维护数据,视图用来显示和编辑数据 什么是文档 文档的概念在MFC应用程序中的适用范围很广,一般说来,文档是能够被逻辑地组合的一系列数据,包括 阅读详情

相关推荐

[MFC]文档视图体系结构、单文档界面

1. 文档视图结构:     1)MFC的一种模块化设计思想的产物,要求程序的数据和表现数据的视图分开来处理;     2) 数据以文档的形式表现,文档可以存储在磁盘中永久保存也可以被程序读出并进行处理;     3)文档(SDI,Single Document Interface)和多文档(Multiple Document Interface)的区别:单文档界面程序只支持打开一个

Lirx_Tech的专栏 3456

MFC程序中如何接受命令行参数

MFC程序中如何接受命令行参数 line函数的详解

MFC文档视图教学实践指南

MFC(Microsoft Foundation Classes)是微软公司开发的一套C++类库,用于帮助开发者创建Windows应用程序。自1992年首次发布以来,MFC一直是许多Windows桌面应用程序开发的首选框架MFC封装了Windows API,提供了一个面向对象的编程环境,使开发者能够以更直观和便捷的方式构建应用程序。Windows消息体系是Windows操作系统的核心机制之一,它负责管理和调度应用程序与系统之间的所有交互。

weixin_42181686的博客 679

MFC OnCommand和OnCmdMsg

1、首先两者都是虚函数 CWnd::OnCommand,CCmdTarget::OnCmdMsg 2、看源码 BOOL CWnd::OnCommand(WPARAM wParam, LPARAM lParam) // return TRUE if command invocation was attempted { UINT nID = LOWORD(wParam); HW

Incremental Learning 2499

MFC OnCmdMsg函数是干什么用的?

BOOL CMainFrame::OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo) { CWnd* pWnd=this->GetFocus(); if(pWnd && pWnd!=this && pWnd->OnCmdMsg(nID, nCode, pExtra, pHandlerInfo)

mfmfmmf1的专栏 2335

MFC 课程总结

《基于MFC框架开发》马志国 1491989781 MFC课程的组成 1.1 MFC应用程序的组成部分、执行机制和执行流程(10.5天)。 1.2 Windows平台上的数据库访问技术(1.5天) MFC的ODBC类和Ado组件 1.3 Windows平台上的网络通信编程 (1天) 基本的socket函数和MFC的socket类 1.4 项目:远程控制...

aikcsu4084的博客 558

谈非模态窗口的销毁过程

非模态对话框相对于模态对话框,他的创建和销毁过程和模态对话框有一定的区别 先看一下MSDN的原文:When   you   implement   a   modeless   dialog   box,   always   override   the   OnCancel   member   function   and   call   DestroyWindow   from   wi

面朝大海 春暖花开 984

MFC教程(4)消息映射的实现

消息映射的实现 Windows消息概述 Windows应用程序的输入由Windows系统以消息的形式发送给应用程序的窗口。这些窗口通过窗口过程来接收和处理消息,然后把控制返还给Windows。消息的分类 队列消息和非队列消息 从消息的发送途径上看,消息分两种:队列消息和非队列消息。队列消息送到系统消息队列,然后到线程消息队列;非队列消息直接送给目的窗口过程。这里,对消息队列阐述如下:Windows

3407

MFC浅析(1) 文档视图结构中,缺省的命令处理

文档视图结构中,缺省的命令处理<!-- body {color:black;font-family: "宋体"; font-size: 9pt} p {color:black;font-family: "宋体"; font-size: 9pt} pre {color:black;font-family: "宋体"; font-size: 9pt} t

FMD STUDIO 5980

MFC:文档/视图

MFC程序的结构包括两个面向应用的实体:文档视图文档是应用程序中与用户交互的数据集合。文档类是从MFC库中的CDocument类派生的,需要添加数据成员来存储应用程序需要的数据,还要添加成员函数来支持对数据的处理MFC支持单文档界面(Sigle Document Interface,SDI),每次只打开一直文档的程序。MFC也支持多文档界面(Multiple Document Interface,MDI)。使用MDI,程序不仅能够打开类型相同的多个文档,还可以同时处理多个类型不同的文档,各个文档显示在

hd51cc的博客 2689

MFC文档视图结构文档操作流程

文档视图结构中操作流程 一基本架构 一个程序可以看作是建立在对文档进行处理的基础上的,而程序可处理文档类型有可能有多种,同时每种文档又可能同时被打开多个视图,若在MDI程序中存在多个文档模板,这会在启动程序时显示一个新建对话框,其中每个条目显示一个文档模板字符串中第三个子串。每个文档又可分为数据部分和表现部分。 基于这种认识,MFC文档视图框架结构将各功能模块总结为对象,用相互关联的

mylinx的专栏 1538

MFC文档视图结构

转载自:https://blog.csdn.net/u013407012/article/details/79778401感谢原创。 文档/视图概述 为了统一和简化数据处理方法,Microsoft公司在MFC中提出了文档/视图结构的概念,其产品Word就是典型的文档/视图结构应用程序 MFC通过其文档类和视图类提供了大量有关数据处理的方法 分为数据的管理和显示,文档用于管理和维护数据,...

leoking01的专栏 758

[MFC]文档/视图结构命令传送和预定义命令ID(包括命令处理程序)

1. 命令命令分散处理:     1) 命令MFC中就是指各种基于WM_COMMAND消息(也包括UPDATE_COMMAND_UI等);     2) 可以触发命令消息的元素有很多,并且可以分布在不同类中(不同地点,不同组件),例如菜单项、工具栏按钮等;     3) 虽然命令触发的元素分散在各个地方,但是Windows只允许主框架(CFrameWnd)来接受命令,这就意味着貌似只有主

Lirx_Tech的专栏 1411

mfc浅析(1) 文档视图结构中,缺省的命令处理

文档视图结构中,缺省的命令处理FMD(http://www.fmdstudio.net)文档视图结构中,缺省的命令处理文档视图结构所构建的框架中,很多命令ID都有缺省的命令处理。正在装载数据……很多功能都由他们完成,但这些功能在程序中不“可见”,不便于对程序的理解。以下归纳了常见的缺省处理及其流程在需要时候,可以重载这些函数

jkjkjkjk的专栏 496

5、MFC文档视图框架

文档视图框架之间关系

qingttqing的博客 1770

MFC基本框架结构

本文将剖析基于MFC框架程序,探讨MFC框架程序的内部组织结构MFC是微软为了简化程序员的开发工作而设计的一套c++类集合,利用这些类有效地帮助程序员完成windows应用程序开发。代码结构我们利用VS2008 IDE创建一个名为Test的工程,程序类型选择为单文档,其他默认不变,最终会生成一套代码,这套代码可以直接运行。在生成的单文档应用程序中,都有五个类,部分类名和工程名相关联。图1展...

csdn_222的博客 2万+

MFC文档视图实现教程

MFC(Microsoft Foundation Classes)中,单文档界面(SDI)是最常见的应用程序类型之一,它允许用户在单个窗口中操作一个文档。而多视图则是指在一个应用程序中为同一个文档创建多个窗口来展示不同的视图。这种模式在需要从多个角度观察或编辑数据的应用程序中非常有用。例如,在一个绘图程序中,用户可能需要同时查看整体布局和放大局部细节。CWinApp类是MFC(Microsoft Foundation Classes)应用程序中的主要类,负责应用程序的启动、初始化和运行。

weixin_42522857的博客 1046
上一篇: MFC浅析(2) 文档视图结构中文档操作流程
下一篇: 测试鼠标是否在窗口内,以及测试鼠标是否在窗口停留
FMD
FMD
博客等级 码龄26年 10粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值