Многооконный интерфейс. Создание MDI-приложения, страница 3

Вместо дополнительных байт окна приложение может использовать его свойства. Преимущество применения свойств состоит в том, что при регистрации класса окна не требуется выделять дополнительное пространство под данные. Кроме того, свойства представляются в виде строк, которые могут сами пояснять свое назначение. В подобных случаях значение свойства окна служит указателем на структуру данных, связанную с этим окном.

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

Меню в MDI-приложениях

Строка меню главного окна MDI должна включать выпадающее меню Window (Окно). Обычно оно предшествует выпадающему меню Help и содержит пункты Tile (Мозаика), Cascade (Каскад), Arrange Icons (Упорядочить значки) и Close All Child Windows (Закрыть все дочерние окна). Это реализуется при помощи сообщений окна, о которых речь пойдет ниже. Кроме того, клиентское окно MDI добавляет имена вновь созданных дочерних окон в нижнюю часть выпадающего меню, который указывается при создании клиентского окна MDI.

На рис. 27.2 показано простое MDI-приложение. Открыто четыре дочерних окна, из которых одно свернуто в значок в нижней части клиентского окна MDI. Стоит обратить внимание на меню Window. Клиентское окно MDI динамически поместило имена четырех дочерних окон в нижнюю часть раскрывающегося меню, а также установило отметку рядом с именем окна, активного в данный момент.

Windows предоставляет MDI-приложениям несколько комбинаций клавиш сокращенного доступа. Для их реализации не требуется дополнительного кода. Функции сокращенного доступа реализуются просто за счет использования MDI-версий стандартных функций обработки сообщений в главном и дочерних окнах, применения функции трансляции клавиши сокращенного доступа MDI в главном цикле сообщений, а также при помощи клиентского окна класса MDICLIENT. Описание этих комбинаций клавиш приводится в табл. 27.2.

Таблица 27.2 Комбинации клавиш сокращенного доступа для MDI-приложений

Комбинация клавиш

Назначение

Alt+-

Открывает системное меню дочерних окон

F4

Закрывает активное дочернее окно

F6

Активизирует следующее дочернее окно

Shift+F6

Активизирует предыдущее дочернее окно

Описание функций и сообщений MDI

В табл. 27.3 сведены функции и сообщения  Windows, реализующие интерфейс MDI-приложения. После таблицы можно найти их подробные описания.