如何用CPP+API创建窗体——王雄风.pdf

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何用CPPAPI创建窗体——王雄风

C++ ——MFC 学习笔记——王雄风  Windows 程序运行机制 学 MFC,其实有很多地方完全不懂,因为本人倒着学的,C++在语言级 初别上,确实比C#要老一个层次,所以小细节,还确实不太一样。通过在 网络上网集资源,我大致上整理了如下文段,以供大家相互借鉴,字里 行间条例不清,还请诸位多多包涵。 首先,要入手MFC,则必须搞懂Window 程序的运行机制。 Windows 应用程序、操作系统、计算机硬件之间的相互关系如下图所示:  此图列出了如下信息:  OS 可以操作IO 设备,如利用声卡发音、显卡绘图。  表示IO 设备可以传递指令给OS。  应用程序可以和OS 交互,进行某项操作。  应用程序如何通过OS 执行某个功能呢? 答:应用程序——调用某系统函数——功能实现。 1 / 21 C++ ——MFC 学习笔记——王雄风 操作系统把它所有能完成的功能以函数的形式提供给了应用程序,应用 程序对函数的调用叫“系统调用”,这些函数的集合叫Application Programming- InterFace简称WindowsApi。如”CreateWindow”即是一个 API 函数。 关于消息队列:  操作系统怎样将感知到的事件传递给应用程序? 消息机制(Message),操作系统将每个事件包装成一个称为消息的结构 体MSG 来传递给应用程序。每一个应用程序,OS 都会给它建立一个消 息队列。消息队列是一个先进先出的缓冲区。 MSDN 中MSG 定义如下: MSG structure (来源于msdn) 包含从线程的消息队列消息信息。  语法: typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG, *PMSG, *LPMSG;  成员: hwnd 类型: HWND 指示一个窗口的句柄,可以简单理解为“窗口”的类型,类似整型用int 装一样。消息的线 程的消息时,此成员是空的。 message UINT 类型: 消息标识符。无符号整型,若我单击鼠标,则,会以整型的方式将我的动作记录于此,应用 程序只能使用低一词 ;高一词是由系统保留的。 WPARM /LPARM 两者都是整数,都是关于消息的附加信息, time 2 / 21 C++ ——MFC 学习笔记——王雄风 类型: dword 值 发送消息的时间。 pt 类型:点 在发送消息时,屏幕坐标中的光标位置。  问题:消息发送需要有附加消息,并且是两个呢?  举例而言,若,我们按下的是“A ”或者其他键。OS 会接收到”WM_CHAR” 消息,但是OS 并不知道按下的是哪一个字母,所以,我们在附加消 息中,存放了我们按下键盘键的AscII 码,这样,我们即可以知道按 下的是什么键。  若,有以下程序: Int x , y; X=30; Y=30; 这样,我作为一个开发者,并不知道这段语段包含的意思。 但是 typedef int WIDTH typedef int HEIGHT 这样,给人的感觉就非常明了了。 关于句柄: 操作系统需要管理,操作资源都是通过句柄来找到对应的资源。 图标句柄(HIcon)

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档