Шаг 93 - Как установить диалог на диалоге в определенное место

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

93_1.gif (10090 b)

Ну, а теперь в OnInitDialog() просто нужно получить координаты статика и поместить по ним диалог.

BOOL CTestChildDlg::OnInitDialog()
{
	........
	// TODO: Add extra initialization here
		CWnd * pWnd = GetDlgItem( IDC_STATIC_1 );
	CRect cr;
	pWnd->GetWindowRect(&cr);
	cm.MoveWindow(&cr) ;
	return TRUE;  // return TRUE  unless you set the focus to a control
}

Запускаем и смотрим:

93_2.gif (4382 b)

Точно на том месте.


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