我有一个困惑,MSWord是一个MDI或SDI应用程序。 看看应用程序,我确实认为这是一个SDI应用程序,但有些人强烈地“相信”它是一个MDI的例子。 在Windows中使用Taskmanager后,“应用程序”选项卡列出当前打开的所有文档实例。 但是,“ 进程”选项卡中只有一个进程。
由于所有的文件都有相同的过程,这让我觉得它是一个MDI。 但同时,“ 应用程序”选项卡列出了所有打开的文档,使其成为SDI。 你们有什么想法呢? 请给出您的宝贵和详细的答案。
如果在选项中取消选中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。
老实说,我自己并没有意识到这个部分,直到我测试了:
在Windows中使用Taskmanager后,“应用程序”选项卡列出当前打开的所有文档实例。 但是,“进程”选项卡中只有一个进程。
感谢您和+1上的帖子。 在进一步探索中,我发现了一些可能进一步淡化的东西。 我正在使用2007年,但我想这也适用于2010年。 我点击了控制菜单(当你点击左上角的图标时弹出的小菜单 – 以前称为控制菜单,在微软决定重画它的界面之前)。 你会发现一个“Word选项”按钮。 点击它后,在弹出的对话框中,进入“高级”选项卡。 向下滚动到“显示”部分。 找到“显示任务栏中的所有窗口”复选框,我想它会被检查。 取消选中它。 你会看到没有多个窗口(对应于每个文档)了。 另外,在“任务管理器”中,即使在“应用程序”选项卡中也只能看到一个实例。
有了这个,我坚信Word仍然是一个MDI。 哦,顺便说一句,如果你想在更改这些“高级”选项后看到打开的每个文档,你可能要去查看菜单,并选择“并排查看”选项。
我在这里分享了一些关于Chris Ryan的更多信息:
这取决于你的意思是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使用一个名为软件对话管理器的专有窗口库。 SDM被使用,所以一个通用的应用程序代码库可以在多个平台上使用:Windows,OS / 2和Mac。 他们所要做的就是重新编译该平台,并链接一个特定于平台的SDM库。
这个链接有点关于SDM,但没有提到MDICLIENT
http://msdn.microsoft.com/en-us/library/windows/desktop/dd317997(v=vs.85).aspx