Функция TextOutW (wingdi.h)
Функция TextOut записывает символьную строку в указанном расположении, используя выбранный в данный момент шрифт, цвет фона и цвет текста.
Синтаксис
BOOL TextOutW(
[in] HDC hdc,
[in] int x,
[in] int y,
[in] LPCWSTR lpString,
[in] int c
);
Параметры
[in] hdc
Дескриптор контекста устройства.
[in] x
Координата x в логических координатах точки ссылки, которую система использует для выравнивания строки.
[in] y
Координата y в логических координатах опорной точки, которую система использует для выравнивания строки.
[in] lpString
Указатель на нарисованную строку. Строка не должна завершаться нулевым завершением, так как cchString указывает длину строки.
[in] c
Длина строки, на которую указывает lpString, в символах.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение.
Комментарии
Интерпретация ссылочной точки зависит от текущего режима выравнивания текста. Приложение может получить этот режим, вызвав функцию GetTextAlign ; приложение может изменить этот режим, вызвав функцию SetTextAlign . Для выравнивания текста можно использовать следующие значения. Можно выбрать только один флаг из тех, которые влияют на горизонтальное и вертикальное выравнивание. Кроме того, можно выбрать только один из двух флагов, изменяющих текущее положение.
По умолчанию текущая позиция не используется или не обновляется этой функцией. Однако приложение может вызывать функцию SetTextAlign с параметром fMode , установленным для TA_UPDATECP, чтобы разрешить системе использовать и обновлять текущую позицию каждый раз, когда приложение вызывает TextOut для указанного контекста устройства. При установке этого флага система игнорирует параметры nXStart и nYStart при последующих вызовах TextOut .
Когда функция TextOut помещается в скобку пути, система создает путь к тексту TrueType, который содержит каждый символ плюс его поле символа. Область, созданная, является символьным полем минус текст, а не сам текст. Вы можете получить область, заключенную в контур текста TrueType, задав фоновый режим прозрачным перед размещением функции TextOut в скобке пути. Ниже приведен пример кода, демонстрирующий эту процедуру.
// Obtain the window's client rectangle
GetClientRect(hwnd, &r);
// THE FIX: by setting the background mode
// to transparent, the region is the text itself
// SetBkMode(hdc, TRANSPARENT);
// Bracket begin a path
BeginPath(hdc);
// Send some text out into the world
TCHAR text[ ] = "Defenestration can be hazardous";
TextOut(hdc,r.left,r.top,text, ARRAYSIZE(text));
// Bracket end a path
EndPath(hdc);
// Derive a region from that path
SelectClipPath(hdc, RGN_AND);
// This generates the same result as SelectClipPath()
// SelectClipRgn(hdc, PathToRegion(hdc));
// Fill the region with grayness
FillRect(hdc, &r, GetStockObject(GRAY_BRUSH));
Примеры
Пример см. в разделе "Перечисление установленных шрифтов".
Примечание
Заголовок wingdi.h определяет TextOut как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования нейтрализуемого кодировки псевдонима с кодом, который не является кодировкой нейтральным, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wingdi.h (включая Windows.h) |
Библиотека | Gdi32.lib |
DLL | Gdi32.dll |