742 ______ ___________________Часть V. Инструментарий программиста

Что такое MDI?

Многодокументный интерфейс — это средство для управления сразу несколькими дочерними окнами в клиентской области главного окна — рабочем пространстве приложения. Примеры MDI очень распространены в программах для Windows. Один из множества примеров — интегрированная среда разработки Borland C++. Подавляющее большинство текстовых процессоров также являются приложениями MDI.

В простейшей реализации MDI используется для управления набором однотипных окон. Хороший пример этого — Диспетчер файлов (File Manager) операционной системы Windows 3.1. В Диспетчере файлов можно открыть столько окон с оглавлениями дисков, сколько потребуется, но это единственный тип окон, который в нем возможен. В похожем, но несколько более сложном варианте MDI используется для манипуляций с документами, имеющими одинаковые основные характеристики, но различные расширения имен файлов.

И, наконец, наиболее сложный вариант — приложения MDI, управляющие множеством окон двух и более различных типов. Еще раз вспомним пример — среду разработки IDE Borland C++. Здесь можно открыть для редактирования несколько окон с текстами программ и заголовочными файлами. Можно также открыть в виде обычных текстовых: окна с файлами определений (.def), проектами справочных файлов (.hpj) и т. д. Вы можете даже подумать, что все эти окна однотипны, так как в них присутствует только текст. Заметьте, однако, что подсветка синтаксиса работает только в окнах с текстами программ, заголовочными файлами и описаниями ресурсов. В IDE предусмотрены также отдельные окна для проекта, сообщений, отладочной печати, однако эти типы окон могут быть открыты только в единственном экземпляре.

MDI предоставляет разработчику приложений и пользователю целый ряд преимуществ:

• Наглядный интерфейс, позволяющий с легкостью управляться с множеством дочерних окон.

• Возможность представления дочерних окон в различном виде.

• Возможность создания множества дочерних окон и быстрого обращения к ним посредством значков.

• Эффективное применение технологии drag and drop.

• Относительная простота программирования, обеспечиваемая, в частности, использованием библиотек классов Windows, таких как OWL.

• Возможность расширения специальными средствами управления.