FAQ:WinAPI VCPP:определить ширину и высоту текста при выводе на контекст устройства — различия между версиями

Материал из Весельчак У
Перейти к: навигация, поиск
(Разделение FAQ на статьи.)
 
(нет различий)

Текущая версия на 20:35, 2 ноября 2008

Как при выводе текста на контекст устройства определить ширину и высоту выведенных символов текста в пикселах?

Для этого нужно использовать процедуру API:

BOOL GetTextExtentPoint32(
	HDC hdc, // хендл контекста
	LPCTSTR lpString, // выводимая строка
	int cbString, // длина строки в символах
	LPSIZE lpSize // указатель на структуру SIZE, куда будут помещены размеры
);

Функция вычисляет ширину строки символов, оканчивающейся нулём. Поэтому, чтобы вычислить габариты многострочного текста, текст, в начале, необходимо разбить на строки, разделённые символами '\r' и '\n', и определить ширину и высоту каждой отдельно взятой строки.