Тема: DrawText
Показать сообщение отдельно
Старый 30.10.2005, 02:48     # 10
kot_
Junior Member
 
Аватар для kot_
 
Регистрация: 19.11.2004
Адрес: Dnepropetrovsk
Пол: Male
Сообщения: 67

kot_ Путь к славе только начался
Цитата:
Сообщение от 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);
т.е. часть символов между пробелами нормально не переносится. Как по мне проще реализовать свою функцию - чем биться разбираясь почему не работает толком библиотечная. А она скорее всего переносит по пробелам, а не так как моя - по символам, может еще что-то. Хотя скорость вывода на экран одинакова.
Угу. удалил пробелы до единиц - результат - строка полезла за границы формы и перенос только на единицах.
__________________
kot_ вне форума