Функция CreatePen

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

Платформа

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

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

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

Параметры

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

Константы

Const PS_SOLID = 0
Const PS_DASH = 1
Const PS_DOT = 2
Const PS_DASHDOT = 3
Const PS_DASHDOTDOT = 4
Const PS_NULL = 5
Const PS_INSIDEFRAME = 6

Пример

' Рисуем эллипс на окне Form1,используя
' квадратное зеленое штриховое перо в один пиксел.
Dim hPen As Long  ' дескриптор для пера
Dim hOldPen As Long  ' дескриптор к предыдущему перу формы Form1
Dim retval As Long  ' возвращаемое значение

' создаем квадратное зеленое штриховое перо с шириной в ноль  (всегда один пиксел).
hPen = CreatePen(PS_DASH, 0, RGB(0, 255, 0))
' выбираем перо,используемое Form1.
hOldPen = SelectObject(Form1.hDC, hPen)

' рисуем эллипс с ограничительным прямоугольником (100,150)-(350,300).
retval = Ellipse(Form1.hDC, 100, 150, 350, 300)

' выбираем старое перо,используемое Form1.
retval = SelectObject(Form1.hDC, hOldPen)
' удаляем созданное нами перо для освобождения ресурсов
retval = DeleteObject(hPen)

Схожие функции
CreatePenIndirect

Категория
Перо

В начало.