Шаг 77 - Фоновое изображение с элементом управления Picture

Этот элемент управления можно найти в окне элементов управления.

77_1.gif (2242 b)

Дальше разместить его на диалоге и связать с растром в ресурсах.

77_2.gif (15183 b)

А вот теперь нам нужно связать его с классом элемента управления. Для того, чтобы это можно было сделать нужно изменить стандартный идентификатор ID_STATIC на другой.

77_3.gif (5365 b)

Отлично, мы можем попробовать расширить этот элемент управления на все окно.

BOOL CMyDIalog::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	CRect tempRect;
	GetClientRect(tempRect);
	m_St.MoveWindow(tempRect);
	return TRUE;	// return TRUE unless you set the focus to a control
			// EXCEPTION: OCX Property Pages should return FALSE
}

Смотрим, что будет:

77_4.gif (5544 b)

Кнопки пропали, это плохо. Так давайте отправим его в самый низ Z-последовательности.

BOOL CMyDIalog::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	CRect tempRect;
	GetClientRect(tempRect);
	m_St.SetWindowPos(0,tempRect.top,tempRect.left,
		tempRect.right,tempRect.bottom,0);	
	return TRUE;	// return TRUE unless you set the focus to a control
			// EXCEPTION: OCX Property Pages should return FALSE
}

Запускаем:

77_5.gif (6160 b)

Совсем другое дело. Как поступать, конечно выбирать Вам. Но этот способ более простой. Хотя проблемы видны, первое это то, что узора нет. Но для изображений сопоставимых с размером диалога это то, что надо. Кроме того, так можно обеспечить равномерную покраску без OnPaint().


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