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

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

dcSkin = CreateCompatibleDC(0);

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

// выбираем битмап для скина

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

hOldBmp = (HBITMAP)SelectObject(dcSkin, hSkinBmp);

Не забудьте освободить эти объекты перед тем как Ваше приложение завершит свою работу.

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

case VK_SPACE:

{

if (!bRegioned)

RegionMe();

else

UnRegionMe();

break;

}

Этот фрагмент кода необходмо поместить в главную оконную процедуру в обработчик сообщения WM_KEYDOWN. Здесь используются две небольшие собственные функции RegionMe() и UnregionMe() для переключения режима.

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

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

// Создаём основной регион и устанавливаем его на окно.

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

void RegionMe()

{

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

// создаём круглый регион и используем отрицательную

// координату, чтобы регион захватил заголовок окна.

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

HRGN hRegion1 = CreateEllipticRgn(20,-20,190,150);

OffsetRgn(hRegion1, GetSystemMetrics(SM_CXBORDER)*4, GetSystemMetrics(SM_CYCAPTION));

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