消息框和对话框的区别是?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了消息框和对话框的区别是?相关的知识,希望对你有一定的参考价值。

消息框 (MessageBox) 其实就是一个系统级的对话框,只不过这个对话框的模板位于系统 DLL 中。系统给这个对话框做了一定的封装,使其只显示一条消息,并根据用户的选择返回特定值 参考技术A 是一个对话框

sendmessage、postmessage和直接调用该对话框的方法,有何区别,那个好一点?

参考技术A sendmessage、postmessage都属于消息传递机制,和直接调用该对话框相比,它俩都是间接调用,即可以模拟直接调用的过程;
sendmessage、postmessage的区别:
1
函数的返回值不同,前者返回消息处理结果,后者是BOOL表示是否传递成功;
2
postmessage是异步,即把消息放入消息队列后,就不管处理结果就走了;sendmessage是同步,即它会等消息处理完才返回;
3
因此在同一个线程中,用sendmessage处理速度更快;在多线程之间,一般postmessage这样更方便,即把消息放入目标窗口的信息队列中,然后由目标窗口通过消息循环自行派发处理。
综上,直接调用窗口更类似sendmessage,但是用消息传递函数更直接,更接近底层调用;当时方便的话,当然还是你直接调用窗口简单。

以上是关于消息框和对话框的区别是?的主要内容,如果未能解决你的问题,请参考以下文章

替代alert的消息框和提示框

alert()confirm()和prompt()的区别与用法

alert()confirm()和prompt()的区别与用法

alert()confirm()和prompt()的区别与用法

JS alert()confirm()prompt()的区别

Visual C++ 表单、简单消息框和将文本从文本字段分配给字符串时出错