Win32 SDK基础(八)之 关于Windows消息机制的详解(图)


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 

    switch (uMsg) 

    

    case WM_DESTROY: 

        PostQuitMessage(0);//可¨|以°?使o1GetMessage返¤|ì回?0 

        break; 

    default: 

        break; 

    

    return DefWindowProc(hWnd, uMsg, wParam, lParam); 

}


hWnd就是产生消息的窗口句柄,uMsg是传递的消息,wParam和lParam分别是消息携带的两个参数。在上面的窗口处理函数中,我们定只处理了一个消息WM_DESTROY,这是我们在点击窗口的关闭按钮后产生的一个消息。我们说过,我们在创建窗口是,也会产生一个WM_CREATE消息。下面我们在窗口处理函数中处理这个消息:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) 

    switch (uMsg) 

    

    case WM_DESTROY: 

        PostQuitMessage(0);//可¨|以°?使o1GetMessage返¤|ì回?0 

        break;

    case  WM_CREATE:

        MessageBox(NULL,"WM_CREATE消息被处理了","消息处理",MB_OK);

    default

        break

    

    return DefWindowProc(hWnd, uMsg, wParam, lParam); 

}


我们在接受到WM_CREATE后,会弹出一个对话框。预期的效果是点击这个对话框的确定按钮后才会显示窗口。如下面所示:

运行程序,先弹出对话框:


点击确定按钮后,弹出窗口:

以上就是Win32 SDK基础(八)之 关于Windows消息机制的详解(图)的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

win32是什么意思?

win32的internet扩展已停止工作怎么解决

win32 sdk基础(四)之如何从零开始创建windows窗口的第二步

win32和win64的区别是什么

win32 sdk基础(七)之如何创建一个窗口的子窗口的案例

win32 sdk基础(二)之关于cl.exe和link.exe编译和连接程序的详解(图)

win32 sdk基础(一)之windows程序分类以及库和头文件所在目录的详解

win32 sdk基础(八)之 关于windows消息机制的详解(图)

win32 sdk基础(三)之如何从零开始创建windows窗口的第一步

谈谈消息机制的现状、前景与机遇

更多相关阅读请进入《win32》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...