C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 78 - Динамическая смена фона / Диалоговые окна / Visual C++

Шаг 78 - Динамическая смена фона

Добавляем еще один рисунок в ресурсы:

78_1.gif (8920 b)

На диалоговое окно кнопку и код к ней:

void CMyDIalog::OnButton1() 
{
	m_St.SetBitmap(::LoadBitmap(AfxGetApp()->m_hInstance,
		MAKEINTRESOURCE(IDB_BITMAP2)) );
	CRect tempRect;
	GetClientRect(tempRect);
	m_St.SetWindowPos(0,tempRect.top,tempRect.left,
		tempRect.right,tempRect.bottom,0);
	Invalidate();
}

Нам помимо смены картинки пришлось еще раз изменить размер, мы это делали в OnInitDialog(), но ведь все это можно вынести в отдельную функцию типа AdaptiveImage(). Запускаем:

78_2.gif (6428 b)

Нажимаем, на кнопку.

78_3.gif (17339 b)

Ну, а как менять цвет с OnPaint() понятно, подставить другой идентификатор картинки. Иы идентификатор меняем на переменную:

CBitmap cb;
cb.LoadBitmap(IDB_BITMAP1);	// Нужно подставлять переменную в которой идентификатор рисунка
CBrush tempBrush;

А дальше присваиваем этой переменной нужный идентификатор картинки и вызываем Invalidate().


| |
Автор Каев Артем.
[AD]