Поделиться через


Метод 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 .

Если метод завершается сбоем, он возвращает один из других элементов перечисления Status .

Комментарии

Предположим, вы хотите, чтобы перо нарисовало две параллельные линии, где ширина первой линии составляет 20 процентов от ширины пера, ширина пространства, разделяющего две линии, составляет 50 процентов ширины пера, а ширина второй линии — 30 процентов от ширины пера. Начните с создания объекта Pen и массива реальных чисел. Затем можно задать составной массив, передав массив со значениями 0,0, 0,2, 0,7 и 1,0 в метод Pen::SetCompoundArray объекта Pen .

Если для объекта 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
Header gdipluspen.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

См. также раздел

Рисование пользовательской пунктирной линии

Перо

Перо::GetCompoundArray

Pen::GetCompoundArrayCount

Перья, линии и прямоугольники