Функция CreatePenIndirect

Declare Function CreatePenIndirect Lib "gdi32" (lpLogPen As LOGPEN) As Long

CreatePenIndirect создает объект перо. Созданное перо, описанное как, логическое перо, через структуру передается функции. После того, как ваша программа завершила работу, используя перо, оно должно быть удалено через функцию DeleteObject

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

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

Параметры

lpLogPen
Описание аттрибутов, передаваемых к создаваемому перу

Пример

' Рисуем эллипс на окне Form1, используя квадратное,
' заштрихованое линией, с одним пикселом
' по ширине зеленое перо
Dim hPen As Long  ' описатель пера
Dim hOldPen As Long  ' описатель предыдущего пера
Dim lpinfo As LOGPEN  ' описание пера
Dim retval As Long  ' возвращаемое значение
' Создаем квадратное, подчеркнутое штриховой линией зеленое перо с шириной 0 (всегда один пиксел)
lpinfo.lopnStyle = PS_DASH  ' штрихи
lpinfo.lopnWidth.x = 0  ' минимальная ширина
lpinfo.lopnWidth.y = 0  ' игнорируем
lpinfo.lopnColor = RGB(0, 255, 0)  ' зеленый
hPen = CreatePenIndirect(lpinfo)
' Выбираем перо, используемое Form1.
hOldPen = SelectObject(Form1.hDC, hPen)
' Рисуем эллипс
retval = Ellipse(Form1.hDC, 100, 150, 350, 300)
' Выбираем старое перо, используемое Form1.
retval = SelectObject(Form1.hDC, hOldPen)
' Удаляем перо для освобождения ресурсов
retval = DeleteObject(hPen)

Смотри также

CreatePen

Категория

Перо