GetMessage遇到错误时,会返回-1,即便它的返回值被定义成BOOL。由于BOOL被定义为UINT。 调用GetMessage的正确写法是 while (GetMessage(&Msg, NULL, 0, 0) > 0),这样能够正确处理函数出错以及程序退出的状况。函数
能够用PostMessage或SendMessage来发送消息。PostMessage把消息放入消息队列再当即返回。这意味着你调用PostMessage后消息可能被处理,也可能还没被处理。SendMessage则把消息送往窗口而且窗口没有结束处理消息以前不返回。队列
模态对话框过程和窗口过程有一些重要的差异,其中第一第二点也适用于非模态对话框。消息队列
用CreateDialog能够建立非模态对话框,它没有本身的消息循环。而DialogBox()拥有本身的消息循环而且直到对话框关闭才返回。 非模态对话框过程,不须要调用EndDialog,能够像常规的窗口同样调用DestroyWindow。循环
对话框就是一个窗口,而且大多数对话框的API能够工做于任何窗口。程序