Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.11;
Скачать: 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 вся ветка

Текущий архив: 2004.07.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
3-1087287584
Паниковский
2004-06-15 12:19
2004.07.11
Insert


1-1088072674
Anatoliy
2004-06-24 14:24
2004.07.11
Распаковать буфер


1-1088031280
Прямой
2004-06-24 02:54
2004.07.11
Надо прочесть сообщение


1-1088006910
XeLax
2004-06-23 20:08
2004.07.11
извлечь минуты


3-1086933026
Pipl
2004-06-11 09:50
2004.07.11
SQL запрос