CreatePen

This function creates a logical pen that has the specified style, width, and color. The pen can subsequently be selected into a device context and used to draw lines and curves.

At a Glance

Header file: Wingdi.h
Windows CE versions: 2.0 and later

Syntax

HPEN CreatePen( int fnPenStyle, int nWidth, COLORREF crColor);

Parameters

fnPenStyle

[in] Specifies the pen style. It can be any one of the following values:

Value Description
PS_SOLID Pen is solid.
PS_DASH Pen is dashed. This style is valid only when the pen width is one or less in device units.
PS_NULL Pen is invisible.

nWidth

[in] Specifies the width of the pen, in logical units. If nWidth is zero, the pen is a single pixel wide, regardless of the current transformation.

CreatePen returns a pen with the specified width bit with the PS_SOLID style if you specify a width greater than one for the PS_DASH style.

crColor

[in] Specifies a color reference for the pen color.

Return Values

Handle to a logical pen indicates success. NULL indicates failure. To get extended error information, call GetLastError.

Remarks

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 the value specified by the nWidth parameter is zero, a line drawn with the created pen will always be a single pixel wide regardless of the current transformation.

If the value specified by nWidth is greater than 1, the fnPenStyle parameter must be PS_NULL or PS_SOLID.

User-specified endcap styles, such as PS_ENDCAP_ROUND, are not supported.

When you no longer need the pen, call the DeleteObject function to delete it.

See Also

CreatePenIndirect