Delphi: вычислить высоту Rect, необходимую для переноса текста - PullRequest
0 голосов
/ 07 мая 2019

Delphi Rio 10.3.1 + GR32 (TextoutW + DT_WORDBREAK)

Я хочу нарисовать текст на TBitmap32, используя TextoutW из библиотеки GR32, и я хочу вычислить необходимую высоту, чтобы вместить завернутый в слово текст, учитывая параметр MaxWidth и определенный шрифт.

Как я могу рассчитать необходимый Rect для этого?

1 Ответ

1 голос
/ 07 мая 2019

Метод TextoutW из GR32, по крайней мере для бэкэнда VCL, охватывает функцию Windows DrawTextW.Эта функция Windows API предоставляет метод для вычисления выходного прямоугольника с помощью флага DT_CALCRECT.Однако интерфейс GR32 не возвращает вычисленный прямоугольник вызывающей стороне.

Поэтому вместо этого я подозреваю, что вам нужно вызвать DrawTextW напрямую, передав соответствующие флаги и контекст устройства (HDC) поверхности GR32..

...