ЕЕ
Елена Елена

(WInAPI) Как рассчитать прямоугольник для текста с учётом межсимвольного интервала?

Текст без применения функции изменения

межсимвольного интервала (GetTextExtentPoint32):



C применением функции изменения
межсимвольного интервала (GetTextExtentPoint32):



*C применением функции изменения межсимвольного интервала (GetTextExtentPoint32):

ОШИБСЯ! ИМЕЛ В ВИДУ ЭТУ ФУНКЦИЮ:

SetTextCharacterExtra(hdc, 4);

С помощью этой GetTextExtentPoint32
я считаю размеры ректа

SIZE sz;

GetTextExtentPoint32(hdc, szBuf, wsprintf(szBuf, "(%d x %d)", cxClient, cyClient), &sz);

rect.left = cxClient / 2 - sz.cx / 2;
rect.top = cyClient / 2 - sz.cy / 2;
rect.right = sz.cx;
rect.bottom = sz.cy;

Игорь
Игорь

TCHAR s[] = "Hello World!!!\nhello\nend";

RECT rc;
SetRect(&rc, 10, 10, 0, 0);
DrawText(hDC, s, lstrlen(s), &rc, DT_LEFT | DT_CALCRECT);
теперь rc содержит выводимый прямоугольник текста

GetTextExtentPoint32 возвращает ширину строки не учитывая новых строк.

Похожие вопросы
WinAPI Помогите пожалуйста..
Помогите пожалуйста с WinApi кто разбирается
текст копированый из интернета! по ширине огромный интервал между словами! !
Fasm, вызов WinAPI функций
Подскажите учебник по WinApi в C++
Подскажите пожалуйста. Как поставить межстрочный интервал в тексте HTML?
С++ WinApi Карточная игра дурак
winapi на русском. Есть ли winapi на русском языке?
где можно найти исходники winapi функций?
Програvмирование на WinAPI