Вопрос

Я вызываю Win32 DrawText функция для вывода некоторого текста в контекст устройства.Текст длинный и красиво переносится на вторую строку.Проблема в том, что мне нужно немного уменьшить пространство между строками (я думаю, уменьшить высоту строки?).Есть идеи, как это сделать?

я бы просто позвонил DrawText дважды (по одному на каждую строку), но тогда мне придется сделать собственный перенос слов.

Есть ли другой путь?

Спасибо

Это было полезно?

Решение

Одна из возможностей — поместить текст в отключенный элемент управления Rich Edit.Я думаю, что это дает вам большой контроль над форматированием.

Если вы пишете собственный перенос слов, вы, вероятно, захотите использовать GetTextExtentExPoint() для измерения того, сколько поместится в каждой строке.

Другие советы

Прошло немало времени с тех пор, как я имел дело с этим в Win32, но я считаю, что шрифт сам определяет «ожидаемый» интервал, определяя пустое пространство под символом.Drawtext использует эту полную высоту для позиционирования следующей строки при переносе.Если вы хотите сделать что-то, что не соответствует этому размеру, я считаю, что вам придется выполнить собственные расчеты переноса и несколько вызовов DrawText().

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top