MS Word - это MDI или SDI
У меня путаница, что MSWord является приложением MDI или SDI. Глядя на приложение, я верю, что это приложение SDI, но есть люди, которые сильно "верят", что это пример MDI. После использования диспетчера задач в окнах на вкладке Приложения отображаются все все открытые в данный момент документы. Однако на вкладке " Процессы " есть только один процесс.
Поскольку все документы имеют одинаковый процесс, я чувствую, что это MDI. Но в то же время на вкладке " Приложения " перечислены все открытые документы, что делает его SDI. Что вы, люди, думаете об этом? Пожалуйста, дайте ваши ценные и подробные ответы.
4 ответа
Я наткнулся на дополнительную информацию об этом от Криса Райана, которой я делюсь здесь:
Это зависит от того, что вы подразумеваете под MDI.
MS-Word имеет несколько документов и интерфейс, но он не соответствует классическому определению приложения MDI, поскольку он не использует класс окна 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 Dialog Manager. Был использован 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
в Options Word - это классическое MDI-приложение (даже Word 2010).
Если вы оставите флажок, это приложение SDI с несколькими корневыми окнами.
Согласно Microsoft, это приложение MDI: http://msdn.microsoft.com/en-us/library/aa263481(v=vs.60).aspx
В зависимости от ваших настроек и версии, это может быть MDI или SDI. Это MDI в старых версиях, и если вы используете опцию "Показать все документы на панели задач"; в противном случае это SDI.
Честно говоря, я сам не реализовал эту часть, пока не проверил:
После использования диспетчера задач в окнах на вкладке Приложения отображаются все все открытые в данный момент документы. Однако на вкладке "Процессы" есть только один процесс.
Спасибо и +1 на пост. Исследуя дальше, я нашел кое-что, что могло бы пролить свет дальше. Я использую 2007, но я думаю, что это будет относиться и к 2010 году. Я нажал на "Меню управления" (маленькое меню, которое появляется, когда вы нажимаете на иконку в верхнем левом углу - раньше называлось "Меню управления", прежде чем Microsoft решила перерисовать его интерфейс). Вы найдете кнопку "Параметры слова". Нажмите на нее, в появившемся после этого диалоговом окне перейдите на вкладку "Дополнительно". Прокрутите вниз до раздела "Дисплей". Найдите флажок "Показать все окна на панели задач", я думаю, он будет установлен. Снимите это. Вы увидите, что больше нет нескольких окон (соответствующих каждому документу). Кроме того, в диспетчере задач вы увидите только один экземпляр даже на вкладке "Приложения".
При этом я твердо верю, что Word по-прежнему MDI. Кстати, если вы хотите, чтобы каждый документ открывался после изменения этих "расширенных" параметров, вы можете перейти в меню "Вид" и выбрать "Просмотр рядом".