Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2007, 18:54   #1
ffo
 
Регистрация: 14.03.2007
Сообщений: 6
По умолчанию Как распечатать содержимое канвы Image?

На главной форме проекта лежит Image. На канве этого Image рисуется большая схема + графиков несколько + и т.д. … чего там только нет. Мне надо все это распечатать. Всю канву Image.
Беда в том, что Image большой, размеры его меняются в зависимости от выполняемых в программе расчетов и выводимой графики. Вот, например, последний раз после расчетов размер Image получился как два листа формата А3, иногда меньше бывает, иногда больше (такова уж задача, причем давно делалась, и копаться в ней уже не хочется, надо вот только печать организовать). Устроит печать на нескольких листах А4 (или А3), которые я потом буду склеивать.
Пробовал организовать печать с использованием QuickRep. Не получилось.
Делал все так:
- к проекту добавил еще одну форму – форму для печати (Form_PRINT)
- на эту новую форму положил QuickRep
- на QuickRep положил QRBand
- на QRBand положил QRImage
- на главной форме (где лежит Image, содержимое которого надо распечатать) добавил кнопку «Печать». В обработчике кнопки написал:
with Form_PRINT do
begin
QRImage1.Width:=Image1.Width;
QRImage1.Height:=Image1.Height;
QRImage1.Picture.Assign(Image1.Pict ure);
QuickRep1.Preview;
End;
В результате получается только одна страница на которой лишь кусок того, что надо распечатать (того, что имеется на Image). Не пойму, почему автоматически не добавляются еще страницы и не выводится весь рисунок. Может свойства какие у компонентов надо настроить? Или я вообще тупиковой работой занимаюсь и надо искать другой подход к распечатыванию, а не связываться с QuickRep?
Блин… может Word (или Excel) запустить, да туда через буфер как картинку вставить…, но я не умею…Хм, а было бы не плохо, наверное…и на печать легко вывести.
Может кто подскажет, а лучше кода кусок киньте, чтоб тупить меньше. Надо не для забавы, а по работе.
ffo вне форума Ответить с цитированием
Старый 15.03.2007, 20:07   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

тааак, где модератор?
есть такой класс tprinter у него есть свой канвас,
вызываешь метод BeginDoc рисуешь в его канвасе рисунок и вызываешь метод EndDoc, после вызова метода EndDoc принтер печатает канвас, в общем, в справке delphi есть такой класс,посмотри

Последний раз редактировалось rpy3uH; 15.03.2007 в 20:16.
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать, что бы распечатать??? slim-vm Microsoft Office Excel 2 19.03.2007 06:01