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

Preview   Найти похожие ветки 

 
FX ©   (2004-06-24 18:17) [0]

Здравствуйте.
Мне необходимо осуществить предварительный просмотр текста выводимого на печать. Для объекта Printer я устанавливаю режим отображения MM_LOMETRIC и вывожу текст на печать. Как мне вывести текст на Canvas метафайла что-бы он выглядел в тех-же пропорциях что и при печати. Я делаю так:
...
 PhysicalWidth:=GetDeviceCaps(Printer.Handle,
   Windows.PHYSICALWIDTH);
 PhysicalHeight:=GetDeviceCaps Printer.Handle,
   Windows.PHYSICALHEIGHT);
 Metafile := TMetafile.Create;
 Metafile.Width:=PhysicalWidth;
 Metafile.Height:=PhysicalHeight;
 MetaCanvas:= TMetafileCanvas.Create(Metafile, 0);

 SetMapMode(MetaCanvas.Handle, MM_ANISOTROPIC);
 SetWindowExtEx(MetaCanvas.Handle, 2100, 2970, nil);
 SetViewportExtEx(MetaCanvas.Handle, PhysicalWidth,
   PhysicalHeight, nil);
 MetaCanvas.Rectangle(0, 0, 100, 100);
 MetaCanvas.TextOut(100, 100, "TEXT");
...
 Прямоугольник рисуется как положено 1x1 см,
а текст получается намного мельче чем при выводе на принтер.

Как сделать правильно? Спасибо.


 
jiuraqserwer   (2004-06-24 18:36) [1]

Мне кажется что лучше использовать какой-нить VCL компонент для этого например GMPrint - они по умолчанию позволяют это сделать
за доп информацией обращатся на jiura@rambler.ru


 
FX ©   (2004-06-24 19:16) [2]

Мне кажется, можно обойтись без дополнительных компонентов, т.к. ответ на вопрос где-то на поверхности, не может быть, чтобы никто не сталкивался с этим... Жду конкретных ответов.


 
TUser ©   (2004-06-24 20:56) [3]

Пол-дня назад скачал с этого сайта TPrintPreview. Пока не поставил, как работает - не знаю. В jedi есть нечно подоное, и в EhLib, кажется тоже.


 
FX ©   (2004-06-24 21:14) [4]

Сейчас посмотрим что-там за EhLib



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

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



Память: 0.46 MB
Время: 0.021 c
6-1084712702
Tolik77
2004-05-16 17:05
2004.07.11
TIdHTTP как поротся с преброской сайта:)


4-1085918432
Piter
2004-05-30 16:00
2004.07.11
Передача фокуса


3-1087221491
Bless
2004-06-14 17:58
2004.07.11
Как работать с полями типа Varbinary в Делфи


14-1088015449
Daniel_
2004-06-23 22:30
2004.07.11
Захват изображения с экрана


14-1087984521
syte_ser78
2004-06-23 13:55
2004.07.11
Почему?




   Наверх