MFC基础-----消息机制基础

本文针对MFC初学者,介绍MFC的基本概念及工作原理。详细解释了MFC作为消息驱动程序的特点,包括消息循环的工作机制及消息结构。此外,还介绍了窗口句柄的作用。

        对于MFC的初学者,尤其是从win32 console application学起想学MFC application开发的朋友们,一定对MFC很费解。他是怎样工作的?怎样工作顺序?怎么从一个函数跳到另一个函数的?建立工程的时候,怎么又是.cpp,Doc.cpp,又是View.cpp?到底有什么关系,该怎么用?等等一系列的问题。我目前正在学习,想把自己遇到的问题,怎么解决的分享给大家。也希望高手们在看到我们的问题的时候,也可以留言解决,也许你们眼中极为简单的问题,却能困扰我们许久。


       言归正传,我先说一下我的开发工具。我用的是Visual Studo 2010。看网上的评论,发现VS2010相比于之前的版本有很大的进步,尤其是相比于VC++ 6.0,所以我就赶一下时髦用VS2010来用做我的学习开发工具。我看的书是《深入浅出MFC》,《VC++2010开发权威指南》(电子版),这两本书,目前来说,感觉很基础,而且讲的很清楚也很权威。我还看孙鑫老师的MFC学习视频。我觉得这些对我来说已经足够学习了。


       下面就来说说目前学到的问题,首先MFC与之前的dos编程不同,MFC是一个message based, event driven的windows程序,程序的响应不是依靠函数的顺序进行,而且响应由操作系统发来的消息。也就是说,首先,程序在开始创立的时候就已经创建好了消息等待循环这个函数,时刻监视着操作系统给这个应用程序发过来的消息。在程序打开之后,这个函数就一直运行,如果有消息来了,比如,我在某个图标点了鼠标左键,那么操作系统就将这个消息发给应用程序,然后应用程序对这个消息进行相应。如果没有消息,那么就继续循环等待。


现在我们知道了关于消息相应的一个基本流程:操作系统通过消息连接应用程序,通知应用程序有什么消息发生了。下面我们来看看消息的代码定义是什么:


	typedef struct tagMSG 
	{
	HWND hwnd;           //窗口句柄,指向消息要传到的应用程序的窗口的句柄号
   	UINT message;        //消息的代号,而具体到编程当中,需要用宏来表示消息,方便记忆和编程,比如消息ON_WM_LBUTTONDOWN()表示鼠标左键按下
   	WPARAM wParam;       //指定消息的额外信息,比如按下键盘a字母,那么message中就是按下键盘这个事件的代号,wParam中是a字母的ASCII码
   	LPARAM lParam;       //指定消息的额外信息,具体和wParam有什么区别还不知道。。。
   	DWORD time;          //消息传递出去的时间
   	POINT pt;            //当消息传递出去之后,光标在屏幕的坐标
	} MSG;


再来解释句柄。windows程序有很多的窗口,那么定义这个窗口的变量的类型就是句柄,名称是HNDLE,一般用整数来表示。窗口句柄(HWND),图标句柄(HICON),光标句柄(HCURSOR),窗口实例句柄(HINSTANCE)等等。而窗口有很多的资源需要设定,比如窗口的大小,菜单和图标等等,这些资源,操作系统用句柄去寻找,根据句柄号,找到这些资源的响应的存储位置然后进行改动。所以从另一方面来看,句柄也可以当做是指针,只不过是指向窗口的指针



内容概要:本文档是一份关于交换路由配置的学习笔记,系统地介绍了网络设备的远程管理、交换机与路由器的核心配置技术。内容涵盖Telnet、SSH、Console三种远程控制方式的配置方法;详细讲解了VLAN划分原理及Access、Trunk、Hybrid端口的工作机制,以及端口镜像、端口汇聚、端口隔离等交换技术;深入解析了STP、MSTP、RSTP生成树协议的作用与配置步骤;在路由部分,涵盖了IP地址配置、DHCP服务部署(接口池与全局池)、NAT转换(静态与动态)、静态路由、RIP与OSPF动态路由协议的配置,并介绍了策略路由和ACL访问控制列表的应用;最后简要说明了华为防火墙的安全区域划分与基本安全策略配置。; 适合人群:具备一定网络基础知识,从事网络工程、运维或相关技术岗位1-3年的技术人员,以及准备参加HCIA/CCNA等认证考试的学习者。; 使用场景及目标:①掌握企业网络中常见的交换与路由配置技能,提升实际操作能力;②理解VLAN、STP、OSPF、NAT、ACL等核心技术原理并能独立完成中小型网络搭建与调试;③通过命令示例熟悉华为设备CLI配置逻辑,为项目实施和故障排查提供参考。; 阅读建议:此笔记以实用配置为主,建议结合模拟器(如eNSP或Packet Tracer)动手实践每一条命令,对照拓扑理解数据流向,重点关注VLAN间通信、路由选择机制、安全策略控制等关键环节,并注意不同设备型号间的命令差异。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值