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

// Создание экземпляра TMDIChild TMDIChild* child = new TMDIChild(*this, title, 0) ;

// Назначение значка для child child->SetIconSm(GetApplication(), IDI_DOC) ;

// Если активное дочернее окно развернуто,

// то новое дочернее окно также открыть развернутым

TMDIChild *curChild = GetActiveMDIChild();

if (curChild && (curChild->GetWindowLong(GWL_STYLE) & WS_MAXIMIZE))

child->Attr.Style ]= WS_MAXIMIZE;

// создание оконного интерфейса для нового дочернего окна child-create () ;

}

//////////////////////////////////////////////////////////////////

// SimpleMDiClient::CmFileCloseО

//

// Обработчик команды CM_FILECLOSE

void SimpleMDiClient::CmFileClose()

{

// Активное дочернее MDI окно — то, которое будет закрыто

TMDIChild* child = GetActiveMDIChild();

// Уничтожение интерфейса дочернего окна //и удаление соответствующего объекта child->Destroy() ;

delete child;

//////////////////////////////////////////////////////////////////

// SimpleMDiClient::CeFileClose()

//

// Разрешение или запрет выполнения команды CM FILECLOSE

void SiropleMDiClient::CeFileClose(TCommandEnablers tee)

{

// Разрешить только если есть активное дочернее MDI окно

tee.Enable(GetActiveMDIChild() != NULL) ;

}

/////////////////////////////////////////////////////////////////////

// OwlMainf)

//

// Все начинается и заканчивается здесь '

int OwlMain (int, char* [])

{

SimpleMDIApp app;

return app.Run() ;

}