CreatePen 関数 (wingdi.h)

CreatePen 関数は、指定されたスタイル、幅、色を持つ論理ペンを作成します。 その後、ペンをデバイス コンテキストに選択し、線と曲線を描画するために使用できます。

構文

HPEN CreatePen(
  [in] int      iStyle,
  [in] int      cWidth,
  [in] COLORREF color
);

パラメーター

[in] iStyle

ペン スタイル。 次のいずれかの値を指定できます。

意味
PS_SOLID
ペンは実線です。
PS_DASH
ペンは破線で表示されます。 このスタイルは、ペンの幅がデバイス単位で 1 つ以下の場合にのみ有効です。
PS_DOT
ペンが点線で表示されます。 このスタイルは、ペンの幅がデバイス単位で 1 つ以下の場合にのみ有効です。
PS_DASHDOT
ペンには、ダッシュとドットが交互に表示されます。 このスタイルは、ペンの幅がデバイス単位で 1 つ以下の場合にのみ有効です。
PS_DASHDOTDOT
ペンには、ダッシュと二重ドットが交互に表示されます。 このスタイルは、ペンの幅がデバイス単位で 1 つ以下の場合にのみ有効です。
PS_NULL
ペンは見えません。
PS_INSIDEFRAME
ペンは実線です。 外接する四角形を受け取る GDI 描画関数でこのペンを使用すると、図形のサイズが縮小され、ペンの幅を考慮して外接する四角形に完全に収まります。 これは、幾何学的なペンにのみ適用されます。

[in] cWidth

ペンの幅 (論理単位)。 nWidth が 0 の場合、現在の変換に関係なく、ペンの幅は 1 ピクセルです。

CreatePen は 、次のスタイルに 1 より大きい幅を指定した場合は、指定した幅のペンをPS_SOLIDスタイルで返します:PS_DASH、PS_DOT、PS_DASHDOT、PS_DASHDOTDOT。

[in] color

ペンの色の色参照。 COLORREF 構造体を生成するには、RGB マクロを使用します。

戻り値

関数が成功した場合、戻り値は論理ペンを識別するハンドルです。

関数が失敗した場合は、返される値は NULL です。

注釈

アプリケーションは、論理ペンを作成した後、 SelectObject 関数を呼び出すことによって、そのペンをデバイス コンテキストに選択できます。 ペンをデバイス コンテキストに選択した後、線と曲線を描画するために使用できます。

nWidth パラメーターで指定された値が 0 の場合、作成されたペンで描画される線は、現在の変換に関係なく、常に 1 ピクセル幅になります。

nWidth で指定された値が 1 より大きい場合、fnPenStyle パラメーターは、PS_NULL、PS_SOLID、またはPS_INSIDEFRAMEである必要があります。

nWidth で指定された値が 1 より大きく、fnPenStyle がPS_INSIDEFRAME場合、ペンに関連付けられている線は、ポリゴンとポリラインを除くすべてのプリミティブのフレーム内に描画されます。

nWidth で指定された値が 1 より大きい場合、fnPenStyle はPS_INSIDEFRAMEされ、crColor パラメーターで指定された色が論理パレット内のエントリの 1 つと一致しない場合、システムはディザリングされた色を使用して線を描画します。 ディザリングされた色は、実線ペンでは使用できません。

PS_DASH、PS_DOT、PS_DASHDOT、またはPS_DASHDOTDOTの iStyle パラメーターを使用する場合、ダッシュまたはドット間のギャップを透明にするには 、SetBkMode を使用してモードを TRANSPARENT に設定します。

ペンが不要になったら、 DeleteObject 関数を呼び出して削除します。

Icm: 作成時に色管理は行われません。 ただし、カラー管理は、ペンが ICM 対応デバイス コンテキストに選択されたときに実行されます。

例については、「 色付きペンとブラシの作成」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー wingdi.h (Windows.h を含む)
Library Gdi32.lib
[DLL] Gdi32.dll

こちらもご覧ください

COLORREF

CreatePenIndirect

DeleteObject

ExtCreatePen

GetObject

ペン関数

ペンの概要

RGB

Selectobject