パラメータ
fnPenStyle
ペンのスタイルを指定する。次の値のいずれかを指定する。
値
|
意味
|
PS_SOLID |
実線のペンを作成する。 |
PS_DASH |
破線のペンを作成する。このスタイルは、ペンの幅がデバイス単位で 1 以下の場合にのみ有効。 |
PS_DOT |
点線のペンを作成する。このスタイルは、ペンの幅がデバイス単位で 1 以下の場合にのみ有効。 |
PS_DASHDOT |
一点鎖線のペンを作成する。このスタイルは、ペンの幅がデバイス単位で 1 以下の場合にのみ有効。 |
PS_DASHDOTDOT |
二点鎖線のペンを作成する。このスタイルは、ペンの幅がデバイス単位で 1 以下の場合にのみ有効。 |
PS_NULL |
空のペンを作成する。描画は行われない。
|
PS_INSIDEFRAME |
実線のペンを作成する。境界長方形を指定する
GDI 描画関数(Rectangle 関数や Ellipse 関数など)でこの |
|
ペンを使うと、ペンの幅が考慮され、その長方形に完全に収まるように図形が縮小される。 |
|
ジオメトリックペンでのみ有効。 |
nWidth
ペンの幅を論理単位で指定する。0 を指定すると、現在の変形の状態にかかわりなく、ペンの幅は 1 ピクセルになる。
PS_DASH、PS_DOT、PS_DASHDOT、PS_DASHDOTDOT のいずれかのスタイルを指定し、1
より大きな幅を指定した場合、
CreatePen 関数は、PS_SOLID スタイルと指定された幅を持つペンを返す。
crColor
ペンの色に適用される、色の基準を指定する。COLORREF 構造体を生成するには、RGB マクロを使う。
戻り値
関数が成功すると、論理ペンのハンドルが返る。
関数が失敗すると、NULL が返る。
Windows NT/2000:拡張エラー情報を取得するには、GetLastError 関数を使う。
解説
論理ペンを作成した後、SelectObject
関数を使って、デバイスコンテキストでそのペンを選択できる。その後、そのペンを使って直線と曲線
を描画できる。
nWidth パラメータで 0 を指定すると、現在の変形の状態にかかわりなく、作成されたペンは幅 1
ピクセルの線を描画する。
nWidth パラメータで 1 より大きな値を指定した場合、fnPenStyle パラメータで
PS_NULL、PS_SOLID、PS_INSIDEFRAME のいずれ
かを指定しなければならない。
nWidth パラメータで 1 より大きな値を指定し、fnPenStyle パラメータで PS_INSIDEFRAME
を指定した場合、多角形(ポリゴン)と連続
直線(ポリライン)を除き、そのペンに関連する線はフレームの内側に描かれる。
nWidth パラメータで 1 より大きな値を指定し、fnPenStyle パラメータで PS_INSIDEFRAME
を指定し、論理パレットのどのエントリとも一
致しない色を crColor
パラメータで指定した場合、システムはディザカラー(混合色)を使って線を描画する。ソリッドペン(実線のペン)で
は、ディザカラーを利用できない。
ペンが不要になったら、DeleteObject
関数を使って削除する。 |