Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Печать содержимого 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;

примерно так


Наверх

Титульная страница Поиск, карта сайта Написать письмо