Вот как я делаю для отображения текста. Сначала я использую DT_CALCRECT
, чтобы получить прямоугольник для текста.
pDC->DrawText(text, &rc, DT_EDITCONTROL | DT_WORDBREAK | DT_LEFT | DT_CALCRECT);
Затем примените те же настройки для фактического рисунка.
pDC->DrawText(text, rc, DT_EDITCONTROL | DT_WORDBREAK | DT_LEFT);
То, что я нашел странным: иногда текст отображается полностью в одну строку, что означает, что ширина достаточно широка, но за ней все еще стоит пустая строка. Я подозреваю, что он пытается сделать разрыв слова, но на самом деле в конце текста нет ничего, никаких пробелов в любом виде.