CreatePen 関数 (wingdi.h)
CreatePen 関数は、指定されたスタイル、幅、色を持つ論理ペンを作成します。 その後、ペンをデバイス コンテキストに選択し、線と曲線を描画するために使用できます。
構文
HPEN CreatePen(
[in] int iStyle,
[in] int cWidth,
[in] COLORREF color
);
パラメーター
[in] iStyle
ペン スタイル。 次のいずれかの値を指定できます。
[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 |