![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Печать содержимого TMemo [D2005, XP]
Alex7 © (2007-05-11 10:52:00)Здравствуйте, уважаемые мастера!
Подскажите, пожалуйста, как на канву принтера положить многострочное содержимое TMemo для его печати.
Текст представляет собой письмо. У некоторых строк есть отступы,
они должны быть сохранены.
Перенос текста по словам по ширине канвы как-то надо задать.
Полагаю такой вопрос задается нередко, но только что просмотрел последние несколько дней - не нашел.
Заранее благодарен.
Anatoly Podgoretsky (2007-05-11 13:13:00) [1]> Alex7 (11.05.2007 11:43:05) [5]
Ну так и печатай пробелы
Alex7 (2007-05-11 11:43:00) [2]Извините за неграмотность по части определений. При вводе текста визуальные его отступы от начала строки реализованы вводом пробелов.
Вместе с тем, полагаю, что мой первоначальный вопрос понятен.
clickmaker (2007-05-11 11:35:00) [3]
> Разве координаты x,y не должны изменяться
разумеется. y := y + Canvas.TextHeight
ЮЮ (2007-05-11 11:15:00) [4]а откуда в TMemo появилось понятие "отступ строк"?
Alex7 (2007-05-11 11:12:00) [5]Спасибо за реализацию перехода на новую страницу.
Уточнение:
>Printer.Canvas.TextOut(x, y, Memo.Lines[i]);
Разве координаты x,y не должны изменяться в зависимости от i, от отступов строк?
clickmaker (2007-05-11 10:59:00) [6]uses Printers
Printer.BeginDoc;
try
for i := o to Memo.Lines.Count-1 do begin
Printer.Canvas.TextOut(x, y, Memo.Lines[i]);
if (i > LinesPerPage) then
Printer.NewPage();
end;
finally
Printer.EndDoc;
end;
примерно так