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

HWND hWnd, // хэндл окна, на которое будет установлен регион

HRGN hRgn, // хэндл региона

BOOL bRedraw // флаг перерисовки окна

);

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

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

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

// Используем отрицательную начальную координату, чтобы наш элипс

// захватил заголовок окна.

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

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

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

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

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

HRGN hRegion2 = CreateEllipticRgn(140,100,300,240);

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

// склеиваем два региона, чтобы сделать новый регион.

// итоговый регион будет помещён в region1,

// подобнооперации:

//

// hRegion1 = hRegion1 + hRegion2.

//

// в функции CombineRgn() можно использовать набор операций RGN_.

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

CombineRgn(hRegion1, hRegion1, hRegion2, RGN_OR);

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

// прикрепляемрегионкокну

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

SetWindowRgn(hWnd, hRegion1, true);

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