次の方法で共有


Pen::SetCompoundArray メソッド (gdipluspen.h)

Pen::SetCompoundArray メソッドは、この Pen オブジェクトの複合配列を設定します。

構文

Status SetCompoundArray(
  [in] const REAL *compoundArray,
  [in] INT        count
);

パラメーター

[in] compoundArray

型: const REAL*

複合配列を指定する実数の配列へのポインター。 この配列内では、0 以上 1 以下の要素を昇順に並べる必要があります。

[in] count

型: INT

compoundArray 配列内の要素の数を指定する正の偶数整数。 整数は、複合配列内の要素の数を超えてはなりません。

戻り値

種類: 状態

メソッドが成功した場合は、Status 列挙体の要素である Ok を返します

メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。

解説

1 行目の幅がペンの幅の 20%、2 本の線を区切るスペースの幅がペンの幅の 50%、2 行目の幅がペンの幅の 30% である 2 本の平行線をペンで描画するとします。 まず、 Pen オブジェクトと実数の配列を作成します。 その後、値 0.0、0.2、0.7、1.0 の配列を Pen オブジェクトの Pen::SetCompoundArray メソッドに渡すことで、複合配列を設定できます。

Pen オブジェクトの配置を PenAlignmentInset に設定した場合、そのペンを使用して複合線を描画することはできません。

次の例では、 Pen オブジェクトを作成し、ペンの複合配列を設定します。 次に、 Pen オブジェクトを使用して行を描画します。

VOID Example_SetCompoundArray(HDC hdc)
{
   Graphics graphics(hdc);

   // Create an array of real numbers and a Pen object.
   REAL compVals[6] = {0.0f, 0.2f, 0.5f, 0.7f, 0.9f, 1.0f};
   Pen pen(Color(255, 0, 0, 255), 30);

   // Set the compound array of the pen.
   pen.SetCompoundArray(compVals, 6);

   // Draw a line with the pen.
   graphics.DrawLine(&pen, 5, 20, 405, 200);
}

要件

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

関連項目

ユーザー設定の破線の描画

ペン

Pen::GetCompoundArray

Pen::GetCompoundArrayCount

ペン、直線、および四角形