Статья: Работа с регионами в Visual C++

// удаляемобъектырегионов

// --------------------------------------------------

DeleteObject(hRegion1);

DeleteObject(hRegion2);

Чтобы вернуть окно в нормальное состояние (без региона), воспользуйтесь следующей функцией:

SetWindowRgn(hWnd, NULL, true);

Скачатьпример - 13Кб

СКИНЫ

Тема скинов довольно популярна в программировании. При помощи скинов мы можем придать стандартному окну привлекательный вид:

Для этого необходим битмап, который заполнит всё окно. На приведённой картинке используется окно размером 320х240 и такого же размера битмап.

Давайте создадим небольшое демонстрационное приложение. Ниже приведены шаги, которые потребуется проделать:

1 - Загружаем битмап;

2 - Создаём контекст устройства для скина и выбираем в нём битмап;

3 - Создаём переключатель между нормальным режимом и скином;

4 - Скрываем заголовок окна и блокируем изменение его размеров в режиме скина;

5 - Показываем заголовок окна и разблокируем его при выходе из режима скина;

6 - Обрабатываем перерисовку скина в сообщении WM_PAINT;

7 - Обрабатываем сообщение WM_LBUTTON, чтобы пользователь мог перетаскивать окно за любую часть в режиме скина;

А теперь каждый шаг подробнее:

1- Загружаем битмап:

// -----------------------------------------------------------------------

// загружаем битмап скина из ресурса

// -----------------------------------------------------------------------

hSkinBmp = LoadBitmap(hInstance, MAKEINTRESOURCE(IDB_SKIN));

if (!hSkinBmp) return -1;

Как видно из кода, ничего сложного. Конечно можно загружать картинки других форматов, но это тема другой статьи.

2 - Создаём контекст устройства для скина и выбираем в нём битмап:

// -----------------------------------------------------------------------

К-во Просмотров: 495
Бесплатно скачать Статья: Работа с регионами в Visual C++