win32编程(1)

来源:互联网 发布:js节点 元素 编辑:程序博客网 时间:2024/05/16 02:00
1.WinMain() 1)MyRegisterClass(hInstance)//注册窗口类 2)InitInstance()//初始化实例3) while (GetMessage(&msg, NULL, 0, 0)) // GetMessage从应用程序消息队列取一个消息,当取到WM_QUIT时,返回假 {  if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))//翻译加速键   {   TranslateMessage(&msg);//翻译消息   DispatchMessage(&msg);//分发消息  } }
操作系统向应用程序发送一系列消息,如左键按下和左键抬起,应用程序将通过GetMessage等方法 
最终将消息提交到窗口过程(WndProc)指向一个应用程序定义的窗口过程的指针
 
 GDI kernel  不断查看系统消息队列 包括应用程序消息队列 
2.typedef struct tagMSG {      HWND        hwnd;       //句柄,表示消息所属的窗口    UINT        message;    //整数类型,指定了消息的标识符,定义为WM_XXX宏,如WM_MOUSEMOVE...    WPARAM      wParam;             LPARAM      lParam;     //指定消息的附加信息    DWORD       time;    POINT       pt;     //消息投递到消息队列中的时间和鼠标的当前位置#ifdef _MAC    DWORD       lPrivate;#endif} MSG, *PMSG, NEAR *NPMSG, FAR *LPMSG;
3.消息宏 1)  WM_LBUTTONDOWN  WM_LBUTTONUP   WM_MOUSEMOVE  .... 2)  WM_PAINT  WM_CREATE   WM_CLOSE  WM_QUIT  WM_DESTROY 3)  WM_COMMAND //
0 0
原创粉丝点击