Windows运行机理——窗口句柄和消息

Windows运行机理这系列文章都是来至于《零基础学Qt4编程》——吴迪,个人觉得写得很好,所以进行了搬运和个人加工

现在我们将消息与句柄联系起来。假如有一个窗口,且拥有该窗口的一个句柄(称作一个HWND),我们命名该句柄为your_HWND。假设因为其他的窗口刚刚从该窗口上移走,那么操作系统希望重绘这个窗口。Windows 将传递如下所示消息:

PostMessage(your_HWND,WM_PAINT,0,0);

这个函数通过句柄your_HWND 给窗口发送了一条绘制消息。最后两个参数用作消息的额外信息,暂时可以不必深究它们的具体细节。

现在,应用程序中有一个函数用一个庞大的case 语句来处理所有信息。例如:

void HandleTheMessage()
{
switch(Message)
{
case WM_PAINT:
DrawWindow();
break;
case WM_KEYDOWN:
break;
......
}
}

以上就是Windows 中的消息和句柄的大致工作过程。了解这些后原理后,下面就可以学习一下有关主程序以及窗口创建的知识。

 

posted @ 2018-03-17 14:17  DreamDog  阅读(169)  评论(0编辑  收藏  举报