第1课 Windows程序内部运行机制

1.MFC 生成的 C++  源文件中都有 StdAfx.h,此文件包含了常用的AFX函数的声明,其中有 afxwin.h,此文件包含了CRECT,CPoint CWnd等许多类及其方法的声明。
2.Project->Setting->Debug  可以加入命令行参数。
3. SDK  中要加入 "windows.h"stdio.h 。因为LoadCursor,MessageBox等函数的声明在这个文件中。
4. 创建一个完整的窗口的四个步骤  SDK1 设计窗口类, 2注册窗口类,3创建窗口, 4显示窗口
5. 函数名可以代表函数代码的首地址,即可作为函数指针。
6. 要查看 VC  数据类型,可以在 MSDN中输入“BOOL ”然后选择“ DATA TYPE”。
7.atof 将字符串转化为 float,atoi 将字符串转化为  int型。
8. 所有从 CWnd  类派生的类都有 m_hWnd句柄。
9. 变量的生命周期:可以认为出了包含它的大括号,这个变量的生命周期结束。所以全局变量的声明位于所有大括号之外。但是用  new声明的变量和用static声明的变量除外。
10.SDK 示范程序,见下面。
11.sprintf 格式化字符,其头文件为  stdio.h,MFC 中格式化字符用 CString.Format
12.GetDC() ReleaseDC()  要成对使用,否则会内存泄漏。同样, BeginPaint()EndPaint() 
13.GetStockObject()  得到画笔、画刷、字体、调色板的句柄,使用时必须用类型转换。
14. 什么时候用 NULL ,什么时候用  0.答,对指针赋值时用NULL,对变量赋值时用 0.
15. 什么是野指针?答:将指针指向的变量的内存释放后,此指针即变成野指针!如何避免野指针?答:将此指针指向  NULL即可。p=NULL;
16.SDK 代码流程:
#include "windows.h"//  包含头文件 LoadCursor,TextOut等函数
#include "stdio.h"//  包含sprintf,printf等函数
LRESULT CALLBACK MyProc(...);//  声明回调函数
int WINAPI WinMain()
{
WNDCLASS wndcls;//  设计窗口类
wndcls.hcursor=LoadCursor();//  初始化
....
RegisterClass(&wndcls);//  注册窗口类
hwnd=CreateWindow(...);//  创建窗口
ShowWindow(..);//  显示窗口
UpdateWindow(..);
MSG msg;// 定义消息结构体
while(GetMessage(...))//  消息循环
{
...
}
return 0;
}
LRESULT CALLBACK MyProc(...)//  实现回调函数
{
switch(uMsg)
{
case WM_CHAR:
break;
...
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值