Вниз
Скачать: CL | DM;

Распечатать содержимое Gridа   Найти похожие ветки 

 
Pk   (2003-04-16 17:15) [0]

Использую следуюций код:
printer.BeginDoc;
Printer.canvas.Assign(DBGrid1.Canvas);
Printer.EndDoc;

При этом на принтер посылается задание при выполнении 1 строчки. А вот строчка Printer.canvas.Assign(DBGrid1.Canvas); вызывает исключение(TControlCanvas не может быть скопирован в TPrinterCanvas ). каким образом можно скопировать содержимое DBGrid1.Canvas в Printer.canvas?


 
Babay ©   (2003-04-17 09:18) [1]

вот так у мня сработало...

Var r:TRect;
begin
// размеры в пикселях что бы на листе было все ок их
//надо пересчитывать но это уже другой вопрос
r.Left:=10;r.Top:=10;r.Right:=500;r.Bottom:=300;

printer.BeginDoc;
Printer.canvas.CopyRect(r, DBGrid1.Canvas,dbGrid1.Canvas.ClipRect);
Printer.EndDoc;


 
REA ©   (2003-04-17 10:43) [2]

PaintTo еще часто бывает полезно в таких случаях


 
Pk   (2003-04-17 11:33) [3]

PaintTo распечатывает Grid в виде маленького квадратика который только под микроскопом можно рассмотреть. как можно указать разрешение?


 
REA ©   (2003-04-17 11:41) [4]

Как вариант SetMapMode, SetViewportExtEx
Наверно и проще как-то можно.


 
REA ©   (2003-04-17 11:48) [5]

Можно содрать еще процедуру печати формы TCustomForm.Print;
Вместо FormImage := GetFormImage; вставить получение Bitmap через PaintTo. Жалко Draw нормально не печатает.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
11-91241
Arioch
2002-07-16 11:51
2003.04.28
Free compilers?


3-91185
sergun
2003-04-09 22:10
2003.04.28
Вопрос по полям


3-91195
GRR
2003-04-10 10:14
2003.04.28
IBTransaction - помогите разобраться


3-91230
mikl2002
2003-04-10 13:31
2003.04.28
InterBase + Linux + FIBPlus


3-91214
V21
2003-04-10 16:08
2003.04.28
Переход от BDE к FIBPlus




   Наверх