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