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

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

Печать на принтер через канву [D6, Win2k]


Seb_Kost ©   (2003-04-08 14:54:00) 

У меня есть график, созданный компонентой DBChart.
Данные в этот график поступают по мере сбора данных с приборов,
после или до занесения данных в таблицу мне необходимо их распечатать на принтере, заправленного рулонной бумаге.
Вот такая маленькая проблема.


raiv   (2003-04-09 09:42:00) [1]

1. Зачем тебе копировать канву?
procedure TMainForm.FilePrint(Sender: TObject);
var
OldOrientation:TPrinterOrientation;
tmpH,TmpW, tmpWMargin, tmpHMargin: Longint;
begin
if PrintDialog.Execute then
Screen.Cursor:=crHourGlass;
OldOrientation:=Printer.Orientation;
Printer.Orientation:=poLandscape;
try
Printer.BeginDoc;
try
DBChart1.PrintResolution:=0;
//Расчет горизонтальных полей
tmpW:=Printer.PageWidth;
tmpWMargin:=Round(5.0*tmpW/100.0); //<--5% поле
tmpW:=tmpW-2*tmpWMargin; //левое и правое поля
tmpW:=tmpW div 2; // слева и справа высота

//Расчет вертикальных полей
tmpH:=Printer.PageHeight;
tmpHMargin:=Round(5.0*tmpH/100.0); //<--5% поле
tmpH:=tmpH-2*tmpHMargin; //верхнее и нижнее поле
//tmpH:=tmpH div 2;

DBChart1.PrintPartial(Rect(0,352,tmpWMargin+2*tmpW,tmpHMargin+tmpH));

Printer.EndDoc;
except
on Exception do
Begin
Printer.Abort;
Printer.EndDoc;
Raise;
end; //begin
end; //except
finally
Printer.Orientation:=OldOrientation;
Screen.Cursor:=crDefault;
end; //finally
end; //procedure
2. Вариан: используй ChartPreview(form1,Chart) и все!


Seb_Kost   (2003-04-09 07:36:00) [2]

А как скопировать в канву часть графика. И какая функция посылает на печать, и какой параметр отвечает за "перемотку листа"?


Севостьянов Игорь   (2003-04-08 15:42:00) [3]

А в чем собственно проблема ? (class TPrinter ?)


Наверх

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