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

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

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]

Помогите пожалуйста,Уважаемые мастера!!!
Не могу избавиться от ощущений полного идиота (:((((() в связи с этим вопросом...


Наверх

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