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

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

Почему принтер не печатает, хотя... [D7, XP]


AlexanderMS ©   (2006-12-23 19:25:00) 

...для вывода на экран и на принтер я использовал одну и ту же процедуру. Только параметр в первом случае - Printer.Canvas, во втором - PaintBox1.Canvas. Разрешение принтера учёл.
Бумага проходит через принтер, но как будто белым по белому печатается: ничего нет, пустой лист. А на экране всё хорошо. Целый час с принтером возился и с кодом. Не знаю, может есть противопоказания использованного мною универсального метода (одна процедура)... Помогите, пожалуйста, я уже не знаю, что делать!


AlexanderMS   (2006-12-24 16:36:00) [1]

Спасибо, разобрался. Произведение на ScaleX было так велико, что выезжало "за лист". Пришлось его поделить на 70, чтобы всё было ОК.

1) Почему шрифт не устанавливается, хотя он поддерживается принтером?
2) А как сделать точный WYSIWYG ? Что на экране, то и на принтере?


AlexanderMS   (2006-12-24 15:45:00) [2]

Удивительно! Почему вопрос не поднялся вверх! И указано, что ответов 1, хотя я ещё раз ответил?


AlexanderMS   (2006-12-24 11:21:00) [3]

Не знаю, проверял в пошаговом режиме - вроде всё теоретически печатается.

1) Случайно DrawTextс параметром DT_CalcRectничего не портит?
2) Может, здесь не так:

           ScaleX := GetDeviceCaps(Printer.Handle, LogPixelsX);
           ScaleY := GetDeviceCaps(Printer.Handle, LogPixelsY);

           ClientRect := Bounds(0, 0, Printer.PageWidth * ScaleX, Printer.PageHeight * ScaleY); // область рисования


tesseract   (2006-12-23 20:14:00) [4]

гм, может с координатами начудил?


Наверх

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