Declare Function FrameRect Lib "user32" _ (ByVal hdc As Long, _ lpRect As RECT, _ ByVal hBrush As Long) As Long
FrameRect рисует рамку с шириной один пиксел вокруг прямоугольника на устройстве, используя данную кисть. Эта рамка может быть эквивалентна краю заполненного прямоугольника (пользуйтесь FillRect). Обратите внимание, что эта функция использует кисть передаваемой функции, так что нет необходимости использовать SelectObject для выбора кисти устройства.
' Используем синюю диагонально-перекрестную заштрихованную кисть, ' чтобы нарисовать прямоугольную рамку на окне Form1. ' Прямоугольная рамка имеет координаты (20,25) - (200,175) Dim hbrush As Long ' Получаем описатель синей заштрихованной кисти Dim winrect As RECT ' Прямоугольная область для рамки Dim retval As Long ' возвращаемое значение ' Установим координаты прямоугольника winrect retval = SetRect(winrect, 20, 25, 200, 175) ' теперь winrect = (20,25)-(200,175) ' Создаем синюю диагонально - перекрестную заштрихованную кисть hbrush = CreateHatchBrush(HS_DIAGCROSS, RGB(0, 0, 255)) ' Заполним желаемую прямоугольную область retval = FrameRect(Form1.hDC, winrect, hbrush) ' Создаем прямоугольник, используя кисть ' Удалим кисть, которую мы создавали, чтобы освободить ресурсы retval = DeleteObject(hbrush)