Declare Function CreateRectRgnIndirect Lib "gdi32" (lpRect As RECT) As Long
CreateRectRgnIndirect создает область прямоугольной формы и обеспечивает его дескриптором. Обратите внимание, что нижняя и правая сторона прямоугольника не являются частью области
Функция возвращает описатель созданной области в успешном случае или 0 в случае ошибки (используйте GetLastError для получения кода ошибки)
' Инвертируем пикселы в пределах прямоугольной области на окне Form1. ' Область имеет углы (20,30) - (150,110) Dim therect As RECT ' структура, определяющая прямоугольную область Dim hrgn As Long ' описатель Dim retval As Long ' возвращаемое значение ' Создаем прямоугольник retval = SetRect(therect, 20, 30, 150, 110) ' Создаем прямоугольную область, основанную на этом прямоугольнике hrgn = CreateRectRgnIndirect(therect) ' Инвертируем пикселы в пределах этой области на Form1 retval = InvertRgn(Form1.hDC, hrgn) ' удаляем регион для высвобождения ресурсов retval = DeleteObject(hrgn)
CreateRectRgn, CreateRoundRectRgn