Функция CreatePen

Declare Function CreatePen Lib "gdi32" _
    (ByVal fnPenStyle As Long, _
    ByVal nWidth As Long,  _
    ByVal crColor As Long) As Long

CreatePen служит для создания объекта перо. Форма пера, созданного функцией, всегда имеет форму квадрата с размерами сторон, равными nWidth. После завершения программы с использованием пера, вы должны удалить его функцией DeleteObject

Возвращаемое значение

В случае ошибки функция возвращает 0 (используйте GetLastError для получения кода ошибки). В успешном случае функция возвращает описатель созданного пера.

Параметры

fnPenStyle
Флаги для определения стиля создаваемого пера
PS_SOLID = 0
Сплошное перо
PS_DASH = 1
Перо подчеркнуто штриховой линией. nWidth должен быть меньше или равняться одному
PS_DOT = 2
Перо пунктирно. nWidth должен быть меньше или равняться одному
PS_DASHDOT = 3
Перо имеет чередующиеся черточки и точки nWidth должен быть меньше или равняться одному
PS_DASHDOTDOT = 4
Перо имеет чередующиеся черточки, сопровождаемые двумя точками. nWidth должен быть меньше или равняться одному
PS_NULL = 5
Перо невидимо
PS_INSIDEFRAME = 6
Перо сплошное. Всякий раз, когда функция рисует фигуру внутри ограничительного прямоугольника, размеры фигуры сокращены так, чтобы рисунок, включая ширину пера, вписывался полностью в пределах ограничительного прямоугольника
nWidth
Ширина пера. Если равна 0, перо - всегда точно один пиксел
crColor
Значение RGB цвета

Пример

' Рисуем эллипс на окне 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)

Смотри также

CreatePenIndirect

Категория

Перо

Реклама