Глава 26. Многодокументный интерфейс 759

Обработка сообщений MDI. Естественно, функционирование приложений MDI немыслимо без участия некоторого набора сообщений Windows. В табл. 26.4 приведены основные сообщения MDI и их назначение в приложениях.

h07591.jpg

Сообщение MDI

Назначение

WM MDIACTIVE

Передается клиенту MDI для активизации конкретного до

чернего окна

WMMDICASCADE

Передается клиенту MDI для каскадного расположения его

окон

WMMDICREATE

Передается клиенту MDI для создания дочернего окна

WM MDIDESTROY

Передается клиенту MDI для'уничтожения дочернего окна

WMMDIGETACTIVE

Передается клиенту MDI для поиска активного дочернего

окна

WMMDIICONARRANGE

Передается клиенту MDI для упорядочения значков его до

черних окон

WMMDIMAXIMIZE

Передается клиенту MDI для развертывания дочернего окна

WMMDINEXT

Передается клиенту MDI для активизации дочернего окна,

следующего за текущим активным окном

WMMDIRESTORE

Передается клиенту MDI для восстановления размеров конкретного дочернего окна (свернутого или развернутого)

WM MDITILE

Передается клиенту MDI для расположения его дочерних

окон мозаикой


Некоторые из этих сообщений передают дополнительную информацию через свои параметры iparam и wparam (более подробно эти сообщения описаны в справочной системе для Win 16 или Win32). Совсем необязательно стараться использовать все эти сообщения.

Для обеспечения основных свойств приложений MDI для большинства из этих сообщений предусмотрен механизм обработки по умолчанию (то есть эту миссию берет на себя Windows), и класс TMDiciient вовсю этим пользуется. Большинство сообщений он самостоятельно не обрабатывает. Однако некоторые функции класса TMDiciient, чтобы обеспечить надлежащую обработку по умолчанию, пересылают эти сообщения классу. В качестве примера МОЖНО Привести функцию CascadeChildren ():

void TMDiciient::CascadeChildren()

HandleMessage(WM_MDICASCADE) ;