WINDOWS程序设计是一种事件驱动方式的程序设计模式,主要是基于消息的。
windows程序中,消息是由MSG结构体来表示的。MSG结构体的定义如下:
typedef struct tagMSG{
HWND hwnd; //表示消息所属的窗口
UINT message; //指定消息的标识符
WPARAM wParam; //着两个变量指定消息的附加信息
LPARAM lParam;
DWORD time; //表示消息投递到消息队列中的时间
POINT pt; //表示消息投递到队列中的当前位置
} MSG;
一个消息一般都是和某个窗口相关联的。
WINDOWS中,消息是由一个数值来表示的,不同的消息有不同的数值。
因为消息对应的数值不便于基于,所以WINDOWS将消息对应的数值定义为WM_XXX的宏。例如,鼠标左键按下的消息就是WM_LBUTTONDOWN.
WinMain是WINDOWS程序的入口点函数,和DOS程序的程序入口点main是作用是一样的。
WinMain函数的原型声明如下:
int WINAPI WinMain(
HINSTANCE hInstance, //表示当前运行的实例的句柄
HINSTANDE hPrevInstance, //当前实例的前一个实例的句柄,一般NULL
LPSTR lpCmdLine, //是一个以空终止的字符窜
int nCmdShow //指定程序的窗口应该如何显示
);
只有运行中的实力才有实例句柄。
窗口的特征有WNDCLASS结构体来定义
typedef struct WNDCLASS{
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HANDLE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCTSTR lpszMenuName;
LPCTSTR lpszClassName;
}WNDCLASS;
阅读(1194) | 评论(0) | 转发(0) |