dialog | main / child / mdi windows之间的区别是什么?

时间:2008-09-30 12:10:37

标签: windows winapi

我需要了解windows main / mdi / child / dialogs之间的区别......应该如何传播win32消息...为什么有些消息存在于一种类型而不是其他类型...

3 个答案:

答案 0 :(得分:4)

MSDN网站上提供了here的参考信息。如果您想要更多的介绍或教程,那么Charles Petzold的书Programming Windows非常出色。

答案 1 :(得分:1)

主窗口 应用程序的顶部窗口。它被标记为进程主窗口,并且可以通过使用适当权限调用进程来轻松访问此信息。

MDI(多文档界面)窗口 这通常是在应用程序主窗口中,它包含一组MDI子项。这主要是与Win32 API集成的窗口类。我相信操作系统不会像其他任何窗口类那样对待它。这些正在逐渐消失,有利于多个SDI窗口(Word 2007)。

儿童 这是任何其他窗口的子窗口。它的位置,可见性和大部分内容都取决于父窗口。孩子们将通知发送给他们的父母。通知是一种特定的窗口消息。

<强>对话 Dialogs基于95%的对话框需要提供简单的子项创建和输入处理。 API中的对话框函数允许您使用PE文件(.exe)中的已编译模板创建窗口及其子窗口。由于您主要使用来自儿童的通知,因此消息处理也略有不同。

对话框的主要区别在于使用模态对话框。创建调用将阻塞,直到用户关闭对话框。在某些情况下,这可能会使UI更新变得有点棘手。

答案 2 :(得分:0)

我不是Windows开发人员,但我理解的是:

主窗口 - 您可以在任务栏中激活/查看的顶层容器。

对话框 - 小窗口锁定(如果是模态)窗口,在任务栏中看不到。主要用于向用户显示消息。

mdi(多文档界面) - 不是直接用于窗口,而是用于存储子窗口的简单容器。每个子窗口可以在此容器内最大化/最小化/关闭,但您不会在任务栏中找到任何这些窗口。 http://en.wikipedia.org/wiki/Multiple_document_interface