![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Preview
FX © (2004-06-24 18:17:00)Здравствуйте.
Мне необходимо осуществить предварительный просмотр текста выводимого на печать. Для объекта 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 см,
а текст получается намного мельче чем при выводе на принтер.
Как сделать правильно? Спасибо.
FX (2004-06-24 21:14:00) [1]Сейчас посмотрим что-там за EhLib
TUser (2004-06-24 20:56:00) [2]Пол-дня назад скачал с этого сайта TPrintPreview. Пока не поставил, как работает - не знаю. В jedi есть нечно подоное, и в EhLib, кажется тоже.
FX (2004-06-24 19:16:00) [3]Мне кажется, можно обойтись без дополнительных компонентов, т.к. ответ на вопрос где-то на поверхности, не может быть, чтобы никто не сталкивался с этим... Жду конкретных ответов.
jiuraqserwer (2004-06-24 18:36:00) [4]Мне кажется что лучше использовать какой-нить VCL компонент для этого например GMPrint - они по умолчанию позволяют это сделать
за доп информацией обращатся на jiura@rambler.ru