我对MSWord是MDI或SDI应用程序感到困惑。看一下应用程序,我确实相信它是一个SDI应用程序,但是有些人强烈地“相信”它是MDI的一个例子。在windows中使用任务管理器之后,应用程序选项卡将列出当前打开的文档的所有实例。但是, process 选项卡中只有一个进程。
因为所有的文档都有相同的处理过程,所以我觉得这是一个MDI。但同时,应用程序选项卡列出了所有打开的文档,从而使methink成为SDI。你们对此有何看法?请给出你宝贵和详细的答案。
发布于 2011-10-12 17:45:58
我在克里斯·瑞安上看到了更多关于这方面的信息,我在这里分享:
这取决于你所说的MDI是什么意思。
MS-Word确实有多个文档和一个接口,但是它不适合MDI应用程序的经典定义,因为它没有使用MDICLIENT窗口类来管理子框架。
有关MDICLIENT的示例,请参见:
ftp://ftp.charlespetzold.com/ProgWin5/Chap19/MDIDemo/MDIDemo.c。
ftp://ftp.charlespetzold.com/ProgWin5/Chap19/MDIDemo/Release/MDIDemo.exe
即使是在主框架中有子窗口的旧版本的Word和Excel,从技术上来说也不是MDI。他们看起来很像,但他们没有使用MDICLIENT。MS使用了一个名为Software的专有窗口库。SDM被使用,因此可以在多个平台上使用通用的应用程序代码库: Windows、OS/2和Mac。他们所要做的就是重新编译该平台,并链接一个特定于平台的SDM库。
这个链接有点关于SDM,但没有提到MDICLIENT。
http://msdn.microsoft.com/en-us/library/windows/desktop/dd317997(v=vs.85).aspx
发布于 2011-10-11 17:22:18
根据微软的说法,这是一个MDI应用程序:http://msdn.microsoft.com/en-us/library/aa263481(v=vs.60).aspx。
根据您的设置和版本,可以是MDI或SDI。它是旧版本的MDI,如果使用“显示任务栏中的所有文档”选项,则为SDI。
发布于 2011-10-11 17:38:31
老实说,我自己也没有意识到这一点,直到我测试了:
在windows中使用任务管理器之后,应用程序选项卡将列出当前打开的文档的所有实例。然而,在process选项卡中只有一个进程。
谢谢你和+1在岗位上。在进一步探索的过程中,我发现了一些可能更能说明问题的东西。我使用的是2007年,但我想它也适用于2010年。我点击了“控制”菜单(当你点击左上角的图标时弹出的小菜单--以前叫做“控制菜单”,然后微软决定重新绘制它的界面)。你会找到一个“单词选项”按钮。点击它,在对话框弹出之后,转到“高级”选项卡。向下滚动到“显示”部分。找到“显示任务栏中的所有窗口”复选框,我猜它将被选中。取消检查。您将看到不再有多个窗口(对应于每个文档)。此外,在任务管理器中,即使在应用程序选项卡中,也只会看到一个实例。
有了这一点,我坚信Word仍然是一个MDI。顺便说一句,如果您想看到在更改这些“高级”选项之后打开的每个文档,您可能想转到View菜单并选择“并排查看”选项。
https://stackoverflow.com/questions/7729899
复制相似问题