На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

ExtCreatePen



The ExtCreatePen function creates a logical cosmetic or geometric pen that has the specified style, width, and brush attributes.

HPEN ExtCreatePen(

DWORD dwPenStyle, // pen style
DWORD dwWidth, // pen width
CONST LOGBRUSH *lplb, // pointer to structure for brush attributes
DWORD dwStyleCount, // length of array containing custom style bits
CONST DWORD *lpStyle // optional array of custom style bits
);


Parameters

dwPenStyle

Specifies a combination of type, style, end cap, and join attributes. The values from each category are combined by using the bitwise OR operator (|).
The pen type can be one of the following values:

Type Description
PS_GEOMETRIC Pen is geometric.
PS_COSMETIC Pen is cosmetic.


The pen style can be any one of the following values:

Style Description
PS_ALTERNATE Windows NT: Pen sets every other pixel. (This style is applicable only for cosmetic pens.)Windows 95: Not supported.
PS_SOLID Pen is solid.
PS_DASH Pen is dashed.Windows 95: This style is not supported for geometric lines.
PS_DOT Pen is dotted.Windows 95: This style is not supported for geometric lines.
PS_DASHDOT Pen has alternating dashes and dots.Windows 95: This style is not supported for geometric lines.
PS_DASHDOTDOT Pen has alternating dashes and double dots.Windows 95: This style is not supported for geometric lines.
PS_NULL Pen is invisible.
PS_USERSTYLE Windows NT: Pen uses a styling array supplied by the user.Windows 95: Not supported.
PS_INSIDEFRAME Pen is solid. When this pen is used in any graphics device interface (GDI) drawing function that takes a bounding rectangle, the dimensions of the figure are shrunk so that it fits entirely in the bounding rectangle, taking into account the width of the pen. This applies only to geometric pens.


The end cap is only specified for geometric pens. The end cap can be one of the following values:

End cap Description
PS_ENDCAP_ROUND End caps are round.
PS_ENDCAP_SQUARE End caps are square.
PS_ENDCAP_FLAT End caps are flat.


The join is only specified for geometric pens. The join can be one of the following values:

Line join Description
PS_JOIN_BEVEL Joins are beveled.
PS_JOIN_MITER Joins are mitered when they are within the current limit set by the SetMiterLimit function. If it exceeds this limit, the join is beveled.
PS_JOIN_ROUND Joins are round.


Windows 95: The PS_ENDCAP_ROUND, PS_ENDCAP_SQUARE, PS_ENDCAP_FLAT, PS_JOIN_BEVEL, PS_JOIN_MITER, and PS_JOIN_ROUND styles are supported only for geometric pens when used to draw paths.

dwWidth

Specifies the width of the pen. If the dwPenStyle parameter is PS_GEOMETRIC, the width is given in logical units. If dwPenStyle is PS_COSMETIC, the width must be set to 1.

lplb

Points to a LOGBRUSH structure. If dwPenStyle is PS_COSMETIC, the lbColor member specifies the color of the pen and the lbStyle member must be set to BS_SOLID. If dwPenStyle is PS_GEOMETRIC, all members must be used to specify the brush attributes of the pen.

dwStyleCount

Specifies the length, in doubleword units, of the lpStyle array. This value must be zero if dwPenStyle is not PS_USERSTYLE.

lpStyle

Points to an array of doubleword values. The first value specifies the length of the first dash in a user-defined style, the second value specifies the length of the first space, and so on. This pointer must be NULL if dwPenStyle is not PS_USERSTYLE.



Return Values

If the function succeeds, the return value is a handle that identifies a logical pen.
If the function fails, the return value is zero.

Remarks

A geometric pen can have any width and can have any of the attributes of a brush, such as dithers and patterns. A cosmetic pen can only be a single pixel wide and must be a solid color, but cosmetic pens are generally faster than geometric pens.
The width of a geometric pen is always specified in world units. The width of a cosmetic pen is always 1.
End cap and join are only specified for geometric pens.
After an application creates a logical pen, it can select that pen into a device context by calling the SelectObject function. After a pen is selected into a device context, it can be used to draw lines and curves.

If dwPenStyle is PS_COSMETIC and PS_USERSTYLE, the entries in the lpStyle array specify lengths of dashes and spaces in style units. A style unit is defined by the device where the pen is used to draw a line.
If dwPenStyle is PS_GEOMETRIC and PS_USERSTYLE, the entries in the lpStyle array specify lengths of dashes and spaces in logical units.
If dwPenStyle is PS_ALTERNATE, the style unit is ignored and every other pixel is set.

If the lbStyle member of the LOGBRUSH structure pointed to by lplb is BS_PATTERN, the bitmap pointed to by the lbHatch member of that structure cannot be a dib section. A dib section is a bitmap created by CreateDibSection. If that bitmap is a dib section, the ExtCreatePen function fails.
When an application no longer requires a specified pen, it should call the DeleteObject function to delete the pen.

See Also

CreatePen, CreateDibSection, CreatePenIndirect, DeleteObject, GetObject, LOGBRUSH, SelectObject, SetMiterLimit


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

ExtCreatePen



Функция ExtCreatePen создает логическую косметику или геометрическую ручку, которые имеют определенный стиль, ширину, и атрибуты щетки.

HPEN ExtCreatePen(

DWORD dwPenStyle, // СТИЛЬ ручки DWORD dwWidth, // ширина ручки
CONST LOGBRUSH *lplb, // УКАЗАТЕЛЬ в структуру для атрибутов щетки DWORD dwStyleCount, // длина массива, содержащего заказные биты стиля CONST DWORD *дополнительный массив lpStyle // заказного стиля сцепляется
);


Параметры

dwPenStyle

Определяет комбинацию типа, стиля, конечного колпачка, и атрибуты соединения. Величины из каждой категории объединены использованием поразрядный ИЛИ оператор (|).
Тип ручки может быть одним из следующего величин:

Ручка Типа Description PS_GEOMETRIC геометрическая.
Ручка PS_COSMETIC косметическая.


Стиль ручки может быть любым из следующего величин:

Описание Стиля
PS_ALTERNATE Windows NT: комплекты Ручки каждый второй пиксель. (Этот стиль прилагаемый только для косметических ручек.)Окно 95: Не поддерживанное.
Ручка PS_SOLID твердая.
Ручка PS_DASH броситься.Окно 95: Этот стиль не поддерживан для геометрических линий.
Ручка PS_DOT точечная.Окно 95: Этот стиль не поддерживан для геометрических линий.
Ручка PS_DASHDOT имеет изменять бросается и ставится точку.Окно 95: Этот стиль не поддерживан для геометрических линий.
Ручка PS_DASHDOTDOT имеет изменять бросается и удваивает точки.Окно 95: Этот стиль не поддерживан для геометрических линий.
Ручка PS_NULL невидимая.
PS_USERSTYLE Windows NT: Ручка использует массив стилистической правки поставленный потребителем.Окно 95: Не поддерживанное.
Ручка PS_INSIDEFRAME твердая. Когда эта ручка использована на любом графическом интерфейсе устройства (GDI) рисуя функцию, что берет прямоугольник bounding, измерения фигуры сжаты чтобы оно устанавливалось полностью в прямоугольнике bounding, принимающемся во внимание ширину ручки. Это относится только к геометрическим ручкам.


Конечный колпачок только определен для геометрических ручек. Конечный колпачок может быть одним из следующего величин:

Конечные колпачки Конца колпачка Description PS_ENDCAP_ROUND круглые.
колпачки Конца PS_ENDCAP_SQUARE квадратные.
колпачки Конца PS_ENDCAP_FLAT незначительные.


Соединение только определено для геометрических ручек. Присоединяться к может быть одним из следующего величин:

Соединение Линии Description PS_JOIN_BEVEL Соединений скошено.
Соединения PS_JOIN_MITER скошены когда они - в пределах текущего предела установленного функцией SetMiterLimit. Если это превышает этот предел, соединение скошено.
Соединения PS_JOIN_ROUND круглые.


Окно 95: PS_ENDCAP_ROUND, PS_ENDCAP_SQUARE, PS_ENDCAP_FLAT, PS_JOIN_BEVEL, PS_JOIN_MITER, и стили PS_JOIN_ROUND поддерживаются только для геометрических ручек когда использовано, чтобы делать путями.

dwWidth

Определяет ширину ручки. Если параметр dwPenStyle - PS_GEOMETRIC, ширина дана на логических устройствах. Если dwPenStyle - PS_COSMETIC, ширина должна быть установлена на 1.

lplb

Точки на структуру LOGBRUSH. Если dwPenStyle - PS_COSMETIC, член lbColor определяет цвет ручки и член lbStyle должен быть установлен на BS_SOLID. Если dwPenStyle - PS_GEOMETRIC, все участники должны быть использованы, чтобы определять атрибуты щетки ручки.

dwStyleCount

Определяет длину, на устройствах двойного слова, массива lpStyle. Эта величина должна быть нулем если dwPenStyle - не PS_USERSTYLE.

lpStyle

Точки на массив величин двойного слова. Первая величина определяется, длина сначала бросается в определенный стиль потребителя, вторая величина определяет длину первого пространства, и так далее. Этот указатель должен быть НЕДЕЙСТВИТЕЛЕН если dwPenStyle - не PS_USERSTYLE.



Обратные Величины

Если функция добивается успеха, обратная величина является ручкой, которая идентифицирует логическую ручку.
Если функция терпит неудачу, обратная величина нулевая.

Замечания

Геометрическая ручка может иметь любую ширину и мочь иметь любой из атрибутов щетки, как например, добавочный псевдослучайный сигнал и образцы. Косметическая ручка может только быть единственным пикселем широким и должна быть однотонным цветом, но косметические ручки - обычно быстрее чем геометрические ручки.
Ширина геометрической ручки всегда определена на мировых устройствах. Ширина косметической ручки - всегда 1.
Закончите колпачок и соединение только определено для геометрических ручек.
После того, как приложение создаст логическую ручку, оно может выбраться эту ручку в контекст устройства вызывая функцию SelectObject. После того, как ручка будет выбрана в контекст устройства, она может быть использована, чтобы делать линиями и кривыми.

Если dwPenStyle - PS_COSMETIC и PS_USERSTYLE, данные в массиве lpStyle определяют длины бросается и пространство на устройства стиля. Устройство стиля определено устройством где ручка использована, чтобы делать линией.
Если dwPenStyle - PS_GEOMETRIC и PS_USERSTYLE, данные в массиве lpStyle определяют длины бросается и пространство на логические устройства.
Если dwPenStyle - PS_ALTERNATE, устройство стиля проигнорировано и каждый второй пиксель установлен.

Если член lbStyle структуры LOGBRUSH указанной, чтобы lplb - BS_PATTERN, побитовое отображение указанное, чтобы членом lbHatch этой структуры не мочь быть dib секцией. dib Секция является побитовым отображением созданным CreateDibSection. Если это побитовое отображение является dib секцией, функция ExtCreatePen терпит неудачу.
Когда приложение больше не требует определенную ручку, это должно называть функцию DeleteObject, чтобы удалять ручку.

Смотри Также

CreatePen, CreateDibSection, CreatePenIndirect, DeleteObject, GetObject, LOGBRUSH, SelectObject, SetMiterLimit


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz