第二章:WIN32 窗体程序设计
学习目标
?Win32编程中需要掌握的一些重要概念
?详解Win32程序
?理解Win32程序的消息机制
?Win32程序对鼠标和键盘的控制
1
Win32编程中需要掌握的一些重要概念
学习windows编程是一个比较难的过程,主要的障碍是因为windows程序中很多新的东西,我们一下子不能适应,下面我们就来扫清这些障碍:
我们在上一章中看到了一个简单的windows程序,大家会发现windows 程序中有很多全大写定义的东西,这就是我们的障碍之一,因为,太多的东西我们以前没有见过,windows程序中全大写的东西可以分为这样三种:
第一种是:windows定义的变量
比如这句:
LRESULT CALLBACK WinProc( HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam )
这是一个方法的定义,这和我们以前的程序就有太多的不同。下面的列表是从相应windows的头文件中摘下来的,看完这个后,你是否可以理解上面这句话的意思。
#define FAR far
#define NEAR near
#define CONST const
#define CALLBACK __stdcall
#define WINAPI __stdcall
#define WINAPIV __cdecl
#define APIENTRY WINAPI
#define APIPRIVATE __stdcall
#define PASCAL __stdcall
typedef unsigned long DWORD;
typedef int BOOL;
typedef unsigned char BYTE;
2
typedef unsigned short WORD;
typedef float FLOAT;
typedef FLOAT *PFLOAT;
typedef BOOL near *PBOOL;
typedef BOOL far *LPBOOL;
typedef BYTE near *PBYTE;
typedef BYTE far *LPBYTE;
typedef int near *PINT;
typedef int far *LPINT;
typedef WORD near *PWORD;
typedef WORD far *LPWORD;
typedef long far *LPLONG;
typedef DWORD near *PDWORD;
typedef DWORD far *LPDWORD;
typedef void far *LPVOID;
typedef CONST void far *LPCVOID;
typedef int INT;
typedef unsigned int UINT;
typedef unsigned int *PUINT;
typedef UINT WPARAM;
typedef LONG LPARAM;
typedef LONG LRESULT;
其实,windows程序把很多变量进行了重新定义,还记得typedef这个类型定义关键字吧!其实上面的UINT、WPARAM、LPARAM,其实都是unsigned int(无符号整数),其实HWND也是无符号整数,后面我们详细介绍HWND,
3