Здравствуйте Patalog, Вы писали:
P>Дык, ето, DrawText с флагом DT_CALCRECT вроде самое оно... Только
P>P>DrawText returns the height of the formatted text but does not draw the text.
P>
P>т.е. ее (DrawText) надо 2 раза вызывать: с флагом и без оного.
Да не все так просто. Это работает для текста с CRLF внутри,
то есть если я имею тескт bla\nbla-bla, то все работает, как часы:
----------
If there are multiple lines of text, DrawText uses
the width of the rectangle pointed to by the lpRect parameter
and extends the base of the rectangle to bound the last line of text.
----------
Однако, если текст изначально не мультилайн, то эта фуня злобно меняет ширину Rect'a
и возвращает всегда стандартную высоту (в моем случае 15 пикулей)!!!
If there is only one line of text, DrawText _modifies the right side_
of the rectangle so that it bounds the last character in the line.
----------
То есть получается, что если я юзаю Дру с DT_EDITCONTROL, то она красиво укладывает
текст по ширине в нужное количество строк (сама режет по словам) — но после этого
уже поздно считать высоту! Ежели я пытаюсь посчитать высоту, это работает
только для заранее поделенного на строки текста...