Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c