Win32 DrawText высота строки - PullRequest
       5

Win32 DrawText высота строки

4 голосов
/ 18 ноября 2009

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

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

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

Спасибо

Ответы [ 2 ]

5 голосов
/ 19 ноября 2009

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

3 голосов
/ 24 ноября 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...