一、位运算
标志位组合:wParam = MK_RBUTTON|MK_CONTROL|MK_SHIFT
标志位的判断:wParam & MK_LBUTTON
标志位的分离:wParam &= ~MK_RBUTTON;
二、调用约定
| __cdecl | _stdcall |
|---|---|
| 是C Declaration的缩写(declaration,声明),表示C语言默认的函数调用方法 | 是StandardCall的缩写,是C++的标准调用方式 |
| a)所有参数从右到左依次入栈 | a)所有参数从右到左依次入栈,如果是调用类成员的话,最后一个入栈的是this指针 |
| b)这些参数由调用者清除,称为手动清栈。 | b)这些堆栈中的参数由被调用的函数在返回后清除,使用的指令是 retnX,X表示参数占用的字节数,CPU在ret之后自动弹出X个字节的堆栈空间,称为自动清栈。 |
| 被调用函数不会要求调用者传递多少参数,调用者传递过多或者过少的参数,甚至完全不同的参数都不会产生编译阶段的错误。 | 函数在编译的时候就必须确定参数个数,并且调用者必须严格的控制参数的生成,不能多,不能少 |
本文介绍了MFC系列的第一部分,包括位运算的使用,如标志位组合、判断和分离;深入讲解了调用约定的概念;详细阐述了Unicode的转换方法,如API转换和类库使用;最后,给出了Win32程序的基础模板。
订阅专栏 解锁全文
1398

被折叠的 条评论
为什么被折叠?



