Pen::SetCompoundArray 方法 (gdipluspen.h)

Pen::SetCompoundArray 方法设置此 Pen 对象的复合数组。

语法

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

parameters

[in] compoundArray

类型: const REAL*

指向指定复合数组的实数数组的指针。 该数组中的元素必须按升序排列,不能小于 0,也不能大于 1。

[in] count

类型: INT

指定 compoundArray 数组中的元素数的正偶数整数。 整数不得大于复合数组中的元素数。

返回值

类型: 状态

如果方法成功,则返回 Ok,这是 Status 枚举的元素。

如果 方法失败,它将返回 Status 枚举的其他元素之一。

注解

假设你希望笔绘制两条平行线,其中第一行的宽度是笔宽的 20%,分隔两行的空间宽度是笔宽度的 50%,第二行的宽度是笔宽度的 30%。 首先创建一个 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

笔、线条和矩形