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


Метод StringFormat::SetTabStops (gdiplusstringformat.h)

Метод StringFormat::SetTabStops задает смещения для остановок табуляции в этом объекте StringFormat .

Синтаксис

Status SetTabStops(
  [in] REAL       firstTabOffset,
  [in] INT        count,
  [in] const REAL *tabStops
);

Параметры

[in] firstTabOffset

Тип: REAL

Вещественное число, указывающее начальную позицию смещения. Это начальное положение смещения определяется относительно начала строки, а смещение первой позиции табуляции — относительно начальной позиции смещения.

[in] count

Тип: INT

Целое число, указывающее количество смещений табуляции в массиве tabStops .

[in] tabStops

Тип: const REAL*

Указатель на массив реальных чисел, указывающих смещения табуляции. Смещение первой позиции табуляции — это первое значение в массиве, смещение второй позиции табуляции, второе значение в массиве и т. д.

Возвращаемое значение

Тип: Состояние

В случае успешного выполнения метода возвращается ОК, который является элементом перечисления Status .

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

Комментарии

Каждое смещение табуляции в массиве tabStops , за исключением первого, относительно предыдущего. Первое смещение табуляции по отношению к исходной позиции смещения, заданной параметром firstTabOffset. Например, если начальное положение смещения равно 8, а первое смещение табуляции равно 50, то первая позиция табуляции находится в позиции 58. Если начальная позиция смещения равна нулю, то первое смещение табуляции относительно позиции 0, источника строки.

Примеры

В следующем примере создается объект StringFormat , устанавливаются позиции табуляции и используется объект StringFormat для рисования строки, содержащей символы табуляции (\t). Код также рисует прямоугольник макета строки.

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

   REAL         tabs[] = {150, 100, 100};
   FontFamily   fontFamily(L"Courier New");
   Font         font(&fontFamily, 12, FontStyleRegular, UnitPoint);
   SolidBrush   solidBrush(Color(255, 0, 0, 255));

   StringFormat stringFormat;
   stringFormat.SetTabStops(0, 3, tabs);
   graphics.DrawString(
      L"Name\tTest 1\tTest 2\tTest 3", 
      25, 
      &font, 
      RectF(20, 20, 500, 100), 
      &stringFormat, 
      &solidBrush);

   // Draw the rectangle that encloses the text.
   Pen pen(Color(255, 255, 0, 0));
   graphics.DrawRectangle(&pen, 20, 20, 500, 100);
}

Требования

   
Минимальная версия клиента Windows XP, Windows 2000 Профессиональная [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header gdiplusstringformat.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

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

Форматирование текста

Stringformat

StringFormat::GetTabStops