windows程序设计(三)

MFC所有封装类一共200多个,但在MFC的内部技术不只是简单的封装

MFC的内部总共有六大关键技术,架构起了整个MFC的开发平台

一.MFC的六大关键技术包括:

a).MFC程序的初始化过程

b).消息映射机制

c).运行时类型识别(RTTI)

d).动态创建

e).永久保存

f).消息传递

六大关键技术的目的是为了提高开发效率,开发者只要在局部做简单的修改,即可处理大部分窗口事物

二.SendMessage和PostMessage函数的功能

a).能够向指定的窗口内发送窗口消息。既可以是本进程内窗口也可以是其他进程的

b).既可以发送系统内部消息,消息编号的范围是:1-WM_USER-1)

例如:WM_LBUTTONDOWN, WM_MOUSEMOVE等

c).也可以发送非系统消息(开发者定义的消息),范围号是:WM_USER-0x7FFF

d).在MFC下非系统消息映射,使用宏定义时ON_MESSAGE

三.SendMessage和PostMessage函数的区别是:

a).SendMessage是阻塞型函数,PostMessage函数是非阻塞型函数

SendMessage用于调用指定窗口的内部程序,直到窗口程序处理完成以后再返回

PostMessage是将一个消息寄送到一个窗口内的消息队列后就立即返回

b).两个函数的返回值不同

LRESUL SendMessage(HWND hwnd,UINT Msg,WPARAM wParam,LPARAM lParam);

BOOL PostMessage(HWND hwnd,UINT Msg,WPARAM wParam,LPARAM lParam);

SendMessage的返回值是消息处理结果产生的数值,依赖于消息处理函数

PostMessage的返回值是返送成功或失败,一般很少失败除非窗口不存在

c).跨线程或跨进程发送消息,推荐使用PostMessage函数

时间: 2024-08-26 16:28:37

windows程序设计(三)的相关文章

《Windows程序设计》复习题

<Windows程序设计>模拟题 一.单项选择题 1. 在VC++中,项目文件的扩展名是(B). A)exe                                             B)dsp C) dsw                                             D)cpp 2. 在MFC中,利用ClassWizard不能(D ). A)建立新类                                    B)进行消息映射 C) 增加类

《windows程序设计》第一章,建议想学API的每天看一章

开始 壹佰软件开发小组  整理编译   本书介绍了在Microsoft Windows 98.Microsoft Windows NT 4.0和Windows NT 5.0下程序写作的方法.这些程序用C语言编写并使用原始的Windows Application Programming Interface(API).如在本章稍后所讨论的,这不是写作Windows程序的唯一方法.然而,无论最终您使用什么方式写作程序,了解Windows API都是非常重要的. 正如您可能知道的,Windows 98已

Windows 程序设计 复习笔记(共 77 问)

Windows 程序设计 复习笔记(共 77 问) (个人整理,仅做复习用 :D,转载注明出处:http://blog.csdn.net/hcbbt/article/details/42706501) 知识点 双字节字符集和Unicode字符集有何区别?采用双字节字符集有何问题 双字节字符集(DBCS)编码是0-255,DBCS含有1字节代码与2字节代码,而Unicode是统一的16位系统,这样就允许表示 65536个字符.Unicode中的每个字符都是16位宽而不是8位宽.在Unicode中,

Windows程序设计核心总结(打印机-2018.5.5)

本人大三学生,自学Windows程序设计有两三个月了,我是看鱼C工作室发布的Windows程序设计视频入门的,这视频集数虽然不是特别多,目前只有前面九章的视频内容,但小甲鱼老师讲解书本内容十分详细.入微,能让我们学习到不少知识.我开发Win32的环境是VS2013. 一.打印机工作机理 在Windows中使用打印机时,实际上启动了一系列模块之间复杂的交互过程,包括GDI32模块.打印机设备驱动程序模块.Windows后台打印处理程序和其他模块.应用程序想要开始使用打印机,首先调用CreateDC

WINDOWS程序设计(002)----HELLOWIN程序(源代码及详细解析) WINDOWS程序原理

创建一个窗口,显示一行文本,并播放一段音频. 效果图: 音频文件的名称应为: "hellowin.wav",放在和执行文件同目录下. 测试音频下载链接:https://pan.baidu.com/s/1qYj1yA4 源代码: Windows函数调用: HELLOWIN程序所调用的Windows函数: 函数 简短描述 LoadIcon 加载图标,以供程序使用 LoadCursor 加载鼠标光标,以供程序使用 GetStockObject 获取一个图形对象.在本例中是一个用来对窗口的背景

关于《Windows程序设计(第五版)》中一个实例程序的疑问

最近一直在看Charlse Petzold的<Windows程序设计>,作为一个新得不能再新的新手,只能先照着书的抄抄源码了,之前的例子一直都很正常,但昨天遇到一个很诡异的BUG. 先看实例源码吧: 1 /*----------------------------------------------------------------- 2 ENVIRON.C -- Environment List Box 3 (c) Charles Petzold,1998 4 Copy by XXXX,2

windows程序设计笔记

2014.05.06 新建一个visual C++ -- 常规 -- 空白 的项目,用.c后缀名指定这是一个用C语言来写的windows项目.和C语言的hellworld程序做了一个比较,按照windows程序设计规定的入口函数名称.函数参数.参数传递方式等写个入口函数,并弹出一个MessageBox. windows程序设计笔记,布布扣,bubuko.com

Windows程序设计画图实现哆啦A梦

在看雪论坛上看到的一个帖子,很喜欢,转载一下.原文地址:http://bbs.pediy.com/showthread.php?t=138630哆啦A梦是画出来的,不知道作者算这些坐标位置算了多久,真的很犀利.记得原来看<Windows程序设计>的时候,每次看到GDI都不是很理解,也没有仔细去研究.现在编程也很少与GDI打交道,还是等以后有空了在深入了解一下吧.把这个代码转载一份到博客,以后再回头研究一下.顺便贴一下程序运行后的截图:(很酷吧~~~)字数补丁~代码疯子~程序人生~字数补丁~代码

Windows程序设计笔记4:第10章:TCP/IP和网络通信

WinSock接口:Windows处理网络的API 套接字socket 流套接字:SOCKET_STREAM           可靠连接   TCP HTTP POP3 数据报套接字:SOCKET_DGRAM     不可靠连接 UDP 寻址方式: 1:sockaddr的第1个版本 struct sockaddr{ u_short  sa_family;       //地址家族 char      sa_data[14];   //数据 } 2.sockaddr的TCP/IP版本的 sock

Win32 Windows编程 三

一.NMAKE 和 Makefile 1.1  NMAKE - 命令解释器, 根据Makefile文件中定义的脚本,完成项目的编译等操作 1.2 Makefile - 定义编译.连接等脚本语言 1.3 Makefile 文件的使用 1.3.1 基本语法规则 window.exe:window.obj //依赖行 cl.exe window.c /c   //命令行 link.exe window.obj user32.lib window.exe 的依赖项是window.obj,如果window