Шаг 355 - Создание разных окон MDI еще доработаем

Создание проекта

Будем использовать проект из прошлого шага. Будем использовать проект из прошлого шага. Проблема в изменении размера окна. Меняется размер нужно менять и размер диалога. На данный момент у нас так.

355_1.gif (9263 b)

Создаем код

Здесь есть много вариантов. Вариант от Артема. Он состоит в перегрузке функции OnSize.

void CNewChild::OnSize(UINT nType, int cx, int cy) 
{
	CMDIChildWnd::OnSize(nType, cx, cy);
	m_dialog.MoveWindow(0,0,cx,cy);				// меняем размер диалога
}

Вариант от Антона, тот же по смыслу только в другом месте и немного сложнее.

void CNewChild::OnPaint() 
{
	CPaintDC dc(this); 
	CRect a2;		
	CNewChild::GetClientRect(&a2);		// получить клиентскую область
	m_dialogm.MoveWindow(&a2,true);		// изменить размер
}

Теперь все работает так.

355_2.gif (12228 b)

Шпаргалка

Перегружая функции и сообщения CNewChild можно управлять окном.

Материал прислал Антон.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 28.06.2001