Цитата:
|
Сообщение от doro
Это всё хорошо, но ведь я рисую на канвасе принтера, который получил, использую в DrawText DT_WORDBREAK. Поэтому мне не совсем понятно почему текст вылезает за пределы страницы вообще. 
|
Хз. Такой вот код работает но не так как надо:
Код:
TRect r = Rect(30,50, this->Width,this->Height);
AnsiString TR=AnsiString("\tАаааа бббббббббббб ввввввввnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnn nnnnnnnnnnnnnn nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 1111111111111111111 1111111111111111111 1111111111111111");
DrawText(this->Canvas->Handle,
TR.c_str(),
TR.Length(),
&r,
DT_EXPANDTABS|DT_WORDBREAK | DT_LEFT);
т.е. часть символов между пробелами нормально не переносится. Как по мне проще реализовать свою функцию - чем биться разбираясь почему не работает толком библиотечная. А она скорее всего переносит по пробелам, а не так как моя - по символам, может еще что-то. Хотя скорость вывода на экран одинакова.
Угу. удалил пробелы до единиц - результат - строка полезла за границы формы и перенос только на единицах.