![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Printer.Canvas.CopyRect [D5, Win95/98]
idr © (2002-07-30 14:15:00)Уважаемый народ!
Либо я глуповат, либо не знаю что :((
Делаю печать следующим образом, через Canvas принтера:
vardest:TRect;
...
dest:=Rect(10,10,100,100);
...
Printer.BeginDoc;
Printer.Canvas.CopyMode:=cmSrcCopy;
Printer.Canvas.CopyRect(dest,PaintBox1.Canvas,dest);
Printer.EndDoc;
Перед этим в PaintBox1.Canvas рисуем, например, круг.
При выполнении запускается спулер, ничего не пепчатается (хотя документ в очереди есть), выдается через пару секунд окно с сообщением: "Ошибка записи в порт USB001 для принтера (hp LaserJet 1000). Неверно задан параметр."
Что делаю не так - не пойму второй день.
З.Ы. Пробовал вместо CopyRect BitBlt - та же картина.
Dmk (2002-07-31 00:01:00) [1]У меня все работает
Printer.Copies := 1;
Printer.Title := outRec.fgFileName;
Printer.BeginDoc;
//...
SetStretchBltMode(prnDC,ColorOnColor);
Res := StretchDIBits(prnDC,
DestX, // Dest X
DestY, // Dest Y
Word(DestWidth), //
Word(DestHeight), //
0, // Src X
0, // Src Y
Word(outRec.fgWidth), // Src width
Word(outRec.fgHeight), // Src height
outRec.fgEntry, //Bits pointer
iInfo, //Bmp info
DIB_Colors, //Pixel usage
SRCCOPY);
//...
Printer.EndDoc;
idr (2002-07-30 16:14:00) [2]Помогите пожалуйста,Уважаемые мастера!!!
Не могу избавиться от ощущений полного идиота (:((((() в связи с этим вопросом...