Cтраница 2
Перечисленные шаги характерны для MDI-приложений. При работе с SDI-приложениями первый шаг выполняется единственный раз - при первом создании документа, а последний - когда приложение завершает свою работу. [16]
Мы вставили этот код для того, чтобы не загружать наше приложение еще раз, если оно уже было запущено. Действительно, MDI-приложения позволяют работать с несколькими документами одновременно ( в отличие от SDI-приложений), и нет никакой необходимости расходовать дополнительную память. [17]
Реализация по умолчанию вызывает функцию DeleteContents, которая обеспечивает очистку документа, и соответствующим образом помечает его. При переопределении здесь рекомендуется инициализировать структуру данных нового документа. Для SDI-приложений эта функция вместо создания нового переинициализирует существующий объект документа. Для MDI-приложений библиотека MFC каждый раз создает новый объект документа, и в этой функции производится его инициализация. [18]
Второй параметр является указателем на шаблон документа. Присваивание значения TRUE третьему параметру означает, что при вызове внедренного объекта контейнером сервера для редактирования каждый раз запускается новый экземпляр сервера. В SDI-приложениях необходимо передавать значение TRUE, поскольку они одновременно могут управлять только одним документом. Всегда при запуске программы ServDemo ( как автономной программы или как сервера OLE) запускается ее новый экземпляр. Таким образом, несколько копий программы выполняются одновременно. [19]
Различные типы окон приложения Styles. [20] |
Это допустимый, но очень неэффективный путь. Пришло время познакомить вас с одним из возможных подходов для создания главного окна SDI-приложения. [21]
Так как главное окно программы содержит общую рабочую область приложения, а не один открытый документ, его класс не включается в шаблон документа программы. Вспомните: шаблон документа хранит информацию о классах и ресурсах, используемых для отображения и управления документом определенного типа. Поскольку главное окно не создается автоматически при открытии первого документа ( как в SDI-приложении), то функция Initlnstance явно создает и отображает его. [22]
Форма для MDI-приложения. [23] |
Sitii / iLKCpeda i / jpuoo / ii-ки IDE был подробно описан процесс создания шли. IUHLL SD [ - приложения, Основное отличие автоматически формируемого шаблона MDl-нрилнженяя от шаблона SDI-приложения заключается в поддержке одновременной работы с несколькими документами. Каждый новый документ открывается в создаваемом дочернем окне. [24]
В приложениях, которые не используют окна MDI Frame и MDI-окна, основное окно ( вида Main) являются фундаментом всей системы. Все остальные окна подчинены этому окну. На усмотрение разработчика отдается вопрос, используются ли в этом стиле приложения дочерние или всплывающие окна. Обычно дочерние окна предпочитают всплывающим. Дочерние окна могут использоваться в SDI-приложениях подобно тому, как окна используются в MDI-приложениях. Кроме того, одно дочернее окно может открывать другое дочернее окно. Следовательно, всплывающие окна обычно не используются в SDI-приложениях. С другой стороны, использование окон отклика в SDI-приложениях так же широко распространено, как и в MDI-приложениях. [25]
Когда запускается приложение под Windows, пользователь взаимодействует с документами посредством их изображений во фреймах. Фреймы документов имеют два основных компонента: собственно фрейм и его содержимое. Для них библиотека MFC использует два различных класса. Класс фрейма управляет непосредственно фреймом, а класс представления - его содержимым. Сам фрейм документа может быть окном SDI-приложения или дочерним окном MDI-приложения. [26]
В приложениях, которые не используют окна MDI Frame и MDI-окна, основное окно ( вида Main) являются фундаментом всей системы. Все остальные окна подчинены этому окну. На усмотрение разработчика отдается вопрос, используются ли в этом стиле приложения дочерние или всплывающие окна. Обычно дочерние окна предпочитают всплывающим. Дочерние окна могут использоваться в SDI-приложениях подобно тому, как окна используются в MDI-приложениях. Кроме того, одно дочернее окно может открывать другое дочернее окно. Следовательно, всплывающие окна обычно не используются в SDI-приложениях. С другой стороны, использование окон отклика в SDI-приложениях так же широко распространено, как и в MDI-приложениях. [27]
В приложениях, которые не используют окна MDI Frame и MDI-окна, основное окно ( вида Main) являются фундаментом всей системы. Все остальные окна подчинены этому окну. На усмотрение разработчика отдается вопрос, используются ли в этом стиле приложения дочерние или всплывающие окна. Обычно дочерние окна предпочитают всплывающим. Дочерние окна могут использоваться в SDI-приложениях подобно тому, как окна используются в MDI-приложениях. Кроме того, одно дочернее окно может открывать другое дочернее окно. Следовательно, всплывающие окна обычно не используются в SDI-приложениях. С другой стороны, использование окон отклика в SDI-приложениях так же широко распространено, как и в MDI-приложениях. [28]