VC深入详解自学笔记

上传人:飞*** 文档编号:2152612 上传时间:2017-07-20 格式:DOC 页数:100 大小:1.88MB
返回 下载 相关 举报
VC深入详解自学笔记_第1页
第1页 / 共100页
VC深入详解自学笔记_第2页
第2页 / 共100页
VC深入详解自学笔记_第3页
第3页 / 共100页
VC深入详解自学笔记_第4页
第4页 / 共100页
VC深入详解自学笔记_第5页
第5页 / 共100页
点击查看更多>>
资源描述

《VC深入详解自学笔记》由会员分享,可在线阅读,更多相关《VC深入详解自学笔记(100页珍藏版)》请在金锄头文库上搜索。

1、VC+深入详解学习笔记孙鑫 C+视频教程(2010-10 整理)孙鑫 C+视频教程-VC+深入详解笔记目 录Lesson 1 Windows 程序运行原理及程序编写流程 .1Lesson 2 掌握 C+基本语法 .6Lesson 3 MFC 框架程序剖析 .7Lesson 4 简单绘图 .10Lesson 5 文本编程 .13Lesson 6 菜单编程 .16Lesson 7 对话框编程 .21Lesson 8 逃跑按钮的巧妙实现 .28Lesson 9 定制应用程序的外观 .29Lesson 10 绘图控制 .32Lesson 11 图形的保存和重绘 .34Lesson 12 文件操作 .3

2、6Lesson 13 文档串行化 .40Lesson 14 网络编程 .42Lesson 15 多线程 .50Lesson 16 线程同步与异步套接字 .56Lesson 17 进程间通信 .66Lesson 18 Active 控件 .74Lesson 19 动态链接库 DLL .78Lesson 20 Hook 与数据编程 .84孙鑫 C+视频教程-VC+深入详解笔记第 1 页 共 100 页Lesson 1 Windows 程序运行原理及程序编写流程窗口产生过程,句柄原理,消息队列,回调函数,窗口关闭与应用程序退出的工作关系,使用 VC+的若干小技巧,stdcall 与 Lessonec

3、l 调用规范的比较,初学者常犯错误及注意事项。1. Windows API 与 Win32 SDK操作系统提供了各种方便开发 Windows 应用程序的编程接口,所的函数都在Windows。h 头文件中声明。 Win32 SDK(Software Development Kit): 即 Windows 32 位平台下的软件开发包,包括 API 函数,帮助文档,微软提供的一些辅助开发工具。2. 窗口与句柄窗口是是屏幕上一块矩形区域,是 Windows 应用程序与用户进行交互的接口。窗口分为客户区和非客户区。在 Windows 应用程序中,窗口是通过窗口句柄 (HWND)来标识的,要对某个窗口进行

4、操作,首先就要得到这个窗口的句柄。其它各种资源(窗口,图标,光标等) ,系统在创建这些资源时会为它们分配内在,并返回标识这些资源的标识号,即句柄。光标句柄(HCURSOR),图标句柄(HICON)。3. 消息与消息队列Windows 程序设计是一种基于消息的事件驱动方式的程序设计模式。消息:在 Windows 中由结构体 MSG 来表示,typedef struct tagMSGHWND hwnd;/消息所属的窗口句柄孙鑫 C+视频教程-VC+深入详解笔记第 2 页 共 100 页UINT message;/消息本身标识符,由一数值表示,系统对消息定/义为WM_XXX 宏(WM 为 Windo

5、ws Message 缩写)WPARAM wParam; /随消息的不同附加信息也不同LPARAM lParam; /消息的附加参数DWORD time; /消息投递的时间POINT pt; /鼠标当前位置消息队列:每当一个 Windows 应用程序创建后,系统都会为该程序创建一个消息队列,这个消息队列用来存放该程序一的窗口的消息,消息产生后被投递到消息队列中,应用程序通过一个消息循环不断的消息队列中取出消息进行响应。响应过程由系统向应用程序发送消息,实际就是调用应用程序的消息处理函数。4. 创建一个完整的 Win32 程序,该程序实现创建一个窗口,其中主要步骤为A. WinMain 函数的定

6、义B. 创建一个窗口 创建一个完整的窗口的四个步骤 SDK,1 设计窗口类,2注册窗口类,3 创建窗口,4 显示窗口C. 进行消息循环D. 编写窗口过程函数回调函数的实现机制:(1) 定义一个回调函数(2) 提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者(3) 当特定的事件或条件发和的时候,调用使用函数指针调用回调函数对事件进行处理针对 Windows 的消息处理机制,窗口过程函数被调用的过程如下:A. 在设计窗口类的时候,将窗口赛程函数的地址赋值给 lpfnWndProc 成员变量B. 调用 RegisterClass(&wndclass)注册窗口类,那么系统就有了我们所

7、编写的窗口过程函数的地址C. 当应用程序接收到某一窗口的消息,调用 DispatchMessage(&msg)将消息加值给系统。系统则利用先前注册窗口类时得到函数指针,调用窗口过程函数对消息进行处理。HICON LoadIcon(HINSTANCE hInstance, LPCTSTR lpIconName);/加载窗图标,返回系统分配给该图标的句柄, LPCTSTR 被定义为 CONST CHAR 孙鑫 C+视频教程-VC+深入详解笔记第 3 页 共 100 页*(指向常量的字符指针),图标的 ID 是一个常数,要使用 MAKEINTRESOUCE 宏把资源 ID 标识转换为需要的 LPCT

8、STR 类型5. sprintf 格式化字符,其头文件为 stdio。h,在 MFC 中格式化字符用 CString。Format6. GetDC()与 ReleaseDC()要成对使用,否则会内存泄漏。同样, BeginPaint()与EndPaint(),这两个 Parint 只能在影响 WM_PAINT 消息中调用。7. GetStockObject()得到画笔、画刷、字体、调色板的句柄,使用时必须用类型转换。如:hbrBackground = (HBRUSH)GetStockObject(NULL_BRUSH )/创建空画刷8. 什么时候用 NULL,什么时候用 0。答,对指针赋值时用

9、 NULL,对变量赋值时用 0。9. 什么是野指针?答:将指针指向的变量的内存释放后,此指针即变成野指针!如何避免野指针?答:将此指针指向 NULL 即可。p=NULL;#include #include #include using namespace std;/回调函数原型声明,返回长整形的结果码,CALLBACK 是表示 stdcall 调用LRESULT CALLBACK WinProc(HWND hwnd, / handle to windowUINT uMsg, / message identifierWPARAM wParam, / first message parameterLPARAM lParam / second message parameter);/(1) WinMain 函数,程序入口点函数int WINAPI WinMain(HINSTANCE hInstance, / handle to current instanceHINSTANCE hPrevInstance, / handle to previous instanceLPSTR lpCmdLi

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号