Дата: 06.06.2020 (2 часа)
ИСиП Основы алгоритмизации и программирования
Практическое занятие №69-70
Разработка оконного приложения с несколькими формами
Цель занятия: познакомиться с видами многооконных приложений.
До сих пор мы рассматривали приложения с одним единственным окном. Однако, на практике сегодня редко встречаются программы, имеющие только одно окно. Даже простые стандартные программы, вроде Калькулятора или игры "Сапёр" имеют несколько окон – главное окно, окно настроек, окно справки о программе. Посмотрим, что представляют из себя многооконные приложения и какие существуют их разновидности.
Всего существует два основных типа многооконных интерфейсов:
- SDI-интерфейс (Single Document Interface - однодокументный интерфейс);
- MDI- интерфейс (Multi Document Interface - многодокументный интерфейс).
SDI-приложения позволяют работать одновременно только с одним документом (окном документа).
Пример SDI-приложения приведён ниже.
MDI-приложения, в свою очередь, предназначены для одновременной работы со множеством однотипных документов. При этом все документы располагаются внутри одного контейнера, которым служит, как правило, главная форма. Пример MDI-приложения приведён ниже.
Преимущества MDI-интерфейса в сравнении с SDI-интерфейсом:
· В интерфейсе типа MDI используются общие панель меню и панель инструментов для всех дочерних окон, что уменьшает загромождённость экрана элементами интерфейса и увеличивает его полезную площадь.
· Все окна MDI-приложения можно прятать/показывать, сворачивать/разворачивать и проводить с ними другие манипуляции, как с одним окном.
· В главном окне MDI-приложения дочерние окна можно быстро выстраивать в ряды «черепицей» или «каскадом».
· MDI-интерфейс позволяет увеличить скорость работы приложения и сэкономить памяти при работе в одном окне. Скорость переключения между дочерними окнами такого приложения также выше, чем между равноправными окнами в среде операционной системы.
· В MDI-приложениях удобно использовать «горячие сочетания клавиш» для быстрой навигации, в частности, для переключения между окнами. Это ещё более повышает скорость и удобство работы с приложением, так как не задействуются дополнительные ресурсы операционной системы.
· MDI-интерфейс является логичным решение, если дочерние окна являются частями одного проекта.
В то же время, MDI-интерфейс обладает определёнными недостатками:
· Не позволяет выводить содержимое разных дочерних окон на разные мониторы или на разные виртуальные рабочие столы.
· Может затруднить параллельную работу с разными приложениями, так как переключение между внешними окнами разных программ и дочерними окнами одной неудобно.
· Перетаскиваемые панели инструментов одного приложения могут перекрывать рабочее окно другого, загораживая пользователю обзор и сбивая с толку — какая панель к какому приложению относится.
· В основе большинства операционных систем используется SDI-интерфейс, а MDI-интерфейс является вспомогательным.
· Многие системы управления окнами позволяют быстро и удобно переключаться между главными программами, но не поддерживают подобное переключение между дочерними окнами документов.
· Одновременное открытие множества документов, вносит путаницу при работе с ними.