我有一个混淆,MSWord是一个MDI或SDI应用程序。看看应用程序,我确实认为这是一个SDI应用程序,但有些人坚信“它”是MDI的一个例子。在Windows中使用Taskmanager后,“应用程序”选项卡列出当前打开的所有文档实例。但是,流程选项卡中只有一个流程。MS Word是一个MDI或SDI
由于所有的文件都有相同的过程,这让我觉得它是一个MDI。但同时,选项卡列出了所有打开的文档,使其成为一个SDI。你们怎么看待这个问题?请给出您宝贵和详细的答案。
我有一个混淆,MSWord是一个MDI或SDI应用程序。看看应用程序,我确实认为这是一个SDI应用程序,但有些人坚信“它”是MDI的一个例子。在Windows中使用Taskmanager后,“应用程序”选项卡列出当前打开的所有文档实例。但是,流程选项卡中只有一个流程。MS Word是一个MDI或SDI
由于所有的文件都有相同的过程,这让我觉得它是一个MDI。但同时,选项卡列出了所有打开的文档,使其成为一个SDI。你们怎么看待这个问题?请给出您宝贵和详细的答案。
我碰到这方面一些更多的信息,从Chris Ryan这我分享这里:
这取决于你的意思是什么MDI。
MS-Word确实有多个文档和接口,但它不符合MDI应用程序的经典定义,因为它不使用MDICLIENT窗口类来管理子框架。
有关MDICLIENT的示例,请参阅:
。
ftp://ftp.charlespetzold.com/ProgWin5/Chap19/MDIDemo/Release/MDIDemo.exe
即使Word和Excel的旧版本有主框架内的子窗口,在技术上不MDI。他们看起来像,但他们没有使用MDICLIENT。 MS使用了一个名为软件对话管理器的专有窗口库。使用了SDM,因此可以在多个平台上使用常用的应用程序代码库:Windows,OS/2,& Mac。他们只需重新编译该平台并链接特定于平台的SDM库。
这个链接谈到一些关于SDM但没有提到MDICLIENT
http://msdn.microsoft.com/en-us/library/windows/desktop/dd317997(v=vs.85).aspx
如果您在选项中取消选中Show all documents in the taskbar
,则Word是经典的MDI应用程序(甚至是Word 2010)。
如果让它被选中,它是一个带有多个根窗口的SDI应用程序。
据微软称,它是一个MDI应用程序:http://msdn.microsoft.com/en-us/library/aa263481(v=vs.60).aspx
根据您的设置和版本,也可能是MDI或SDI。它是旧版本的MDI,如果您使用“显示任务栏中的所有文档”选项;否则,它是SDI。
有一些有趣的信息给出了Chris – Abhinav
老实说,我不知道这部分我自己,直到我测试:
在Windows中使用任务管理器后,应用程序选项卡列表中的所有文件的所有实例当前打开的。但是,“进程”选项卡中只有一个进程。
谢谢你和+1上的帖子。在进一步探索时,我发现了一些可能进一步阐明的东西。我正在使用2007年,但我想它也适用于2010年。我点击了控制菜单(当你点击左上角的图标时弹出的小菜单 - 以前称为控制菜单,在微软决定重新绘制它的界面之前)。你会发现一个“Word Options”按钮。点击它后,在弹出的对话框中,进入“高级”选项卡。向下滚动到“显示”部分。找到“显示任务栏中的所有窗口”复选框,我想它会被检查。取消选中它。你会看到没有多个窗口(对应于每个文档)了。另外,在任务管理器中,即使在应用程序选项卡中也只会看到一个实例。
有了这个,我坚信Word仍然是一个MDI。哦,顺便说一句,如果您想在更改这些“高级”选项后查看打开的每个文档,则可能需要转到“查看”菜单,然后选择“并排查看”选项。
这似乎并非是一个编程问题。 –
MDI/SDI与流程几乎完全没有关系。它与如何显示多个窗口有关。无论哪种方式,这似乎都不是一个编程问题,所以我投票迁移它。 –