Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1598236
  • 博文数量: 354
  • 博客积分: 8137
  • 博客等级: 中将
  • 技术积分: 5137
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-26 15:40
文章分类

全部博文(354)

文章存档

2010年(300)

2009年(54)

分类: C/C++

2010-09-02 07:45:39

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) |
0

上一篇:vC学习笔记-第一章

下一篇:CAN开发板测试

给主人留下些什么吧!~~