IT常识

模式对话框和非模式对话框的区别

2023-01-17 8025人阅读
威客牛网
科技信息综合服务平台

模式对话框和非模式对话框的区别:

  1、使用中的区别

  模式对话框创建后,程序的其他窗口便不能进行操作,必须将该窗口关闭后,其他窗口才能进行操作。而非模式对话框则无需这样,它不强制要求用户立即反应,而是与其他窗口同时接受用户操作。

  2、消息响应的区别

  在消息响应方面,模式对话框和非模式对话框之间又有着很大的区别。模式对话框工作的时候,它有内部的消息泵机制,控件之间的交互不用人为的去控制,系统会帮助我们去处理。非模式对话框则像普通窗口一样,则由WinMain中书写的消息循环驱动。但由于是对话框,它对一些消息有特殊的处理。因此,在消息循环中,需要先对对话框提供截获消息的机会。

  3、销毁的区别

  模式对话框的销毁是使用EndDialog,而非模式对话框的销毁是使用DestroyWindow。所以在销毁对话框的时候,也要对其进行区别。非模式对话框,用户关闭对话框时,对话框消息处理函数将收到WM_CLOSE消息,接到后调用DestroyWindow以销毁非模式对话框。模式对话框,则一般响应IDOK和IDCANCEL。在PPC上,我们对于OK键和X键的处理要注意这点

热门推荐
发布项目联系我们
分享至 取消