Declare Function CreatePen Lib "gdi32" _ (ByVal fnPenStyle As Long, _ ByVal nWidth As Long, _ ByVal crColor As Long) As Long
CreatePen служит для создания объекта перо. Форма пера, созданного функцией, всегда имеет форму квадрата с размерами сторон, равными nWidth. После завершения программы с использованием пера, вы должны удалить его функцией DeleteObject
В случае ошибки функция возвращает 0 (используйте GetLastError для получения кода ошибки). В успешном случае функция возвращает описатель созданного пера.
' Рисуем эллипс на окне Form1, ' используя квадратное зеленое штриховое перо в один пиксел Dim hPen As Long ' дескриптор для пера Dim hOldPen As Long ' дескриптор к предыдущему перу формы Form1 Dim lRet As Long ' возвращаемое значение ' создаем квадратное зеленое штриховое перо с шириной в ноль (всегда один пиксел). hPen = CreatePen(PS_DASH, 0, RGB(0, 255, 0)) ' выбираем перо, используемое Form1 hOldPen = SelectObject(Form1.hDC, hPen) ' рисуем эллипс с ограничительным прямоугольником (100,150)-(350,300). lRet = Ellipse(Form1.hDC, 100, 150, 350, 300) ' выбираем старое перо, используемое Form1 lRet = SelectObject(Form1.hDC, hOldPen) ' удаляем созданное нами перо для освобождения ресурсов lRet = DeleteObject(hPen)