Функция CreatePenIndirect

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

Платформа

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

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

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

Параметры

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

Пример

' Рисуем эллипс на окне Form1, используя квадратное,
'заштрихованое линией, с одним пикселом
'по ширине  зеленое перо.
Dim hPen As Long  ' дескриптор к создаваемому перу
Dim hOldPen As Long  ' дескриптор к предыдущему перу Form1
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
Категория
Перо

В начало.