Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];

Вниз

Урезать ClipRect канвы принтера   Найти похожие ветки 

 
danja   (2003-04-21 10:47) [0]

Не срабатывает Printer.Canvas.SetClipRect (Printer из QPrinters), точнее Printer.Canvas.ClipRect после этого возвращает новые значения, но рисование происходит и за пределами установленного прямоугольника. К сожалению не могу проверить на разных принтерах, у меня только лазерники HP: 6L, 6P и 2200. Если кто знает, подскажите, пожалуйста, решение или обходной путь. PS Программно не выводить графику в область полей я не могу - очень громоздкий и медленный пересчет.


 
MBo   (2003-04-21 10:51) [1]

попробуй SelectClipRgn или selectClipPath
на 6L работало.


 
danja   (2003-04-22 09:00) [2]

Спасибо, MBo. К сожалению не знаю как преобразовать QPrinters.Printer.Handle (QPaintDeviceH) или QPrinters.Printer.Canvas.Handle (QPainterH) в HDC - прямое :
HDC(QPrinters.Printer.Handle) не срабатывает. Попробовал Printer из Printers у которого Хендл нужного типа, все равно не получилось. Видимо проблема глубже. Попробую подрезать вывод графики или наложить сверху поля.


 
REA   (2003-04-22 10:01) [3]

Насчет Q не в курсе, а так SelectClipRgn и ExtSelectClipRgn рабтают везде где видел. А вот о свойствах (DeviceCaps кажется) принтеры часто врут.


 
danja   (2003-04-22 10:54) [4]

Спасибо, попробую еще раз. Насчет Q сам не совсем в курсе. Вроде как семейство новых модулей (Delphi and Kylix Cross-Platform Visual Component Library), где предоставлено больше возможности по сравнению с предыдущими. Но за неделю работы уже выловил множество глюков. Не знаю на что и грешить, то ли моя D6, то ли Win98, то ли вся связка в купе с железом. Но если GetDeviceCaps врет - даже и не знаю как вывести сложную (векторную) графику (проще говоря, карту) в заданную часть листа с хорошим разрешением и жестко заданным масштабом.


 
REA   (2003-04-22 11:49) [5]

Ну может они не все характеристи врут, а только то что относится к RASTERCAPS, а может и у меня руки кривые.


 
Proton   (2003-04-22 16:33) [6]

> Printer.Canvas.SetClipRect

> HDC(QPrinters.Printer.Handle) не срабатывает.

Printer.Canvas.Handle - это и есть hdc
или я недопонял?


 
danja   (2003-04-23 09:13) [7]

Спасибо огромное всем за проявленый интерес. Для Proton:
Printer.Canvas.Handle - это и есть hdc, но только в модуле Printers, а в QPrinters он QPaintDeviceH.
Для REA: действительно я сам пока не замечал вранья в основных характеристиках, другое дело что иногда размеры листа бумаги трактуются как полный лист, иногда с учетом внутренних полей принтера и т.д.
В любом случае все получилось с SelectClipRgn (еще один поклон MBo).



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

Форум: "Система";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-7464
kah68
2003-06-20 16:17
2003.07.03
Изменение курсора мышки при выполнении SQL запроса


14-7680
-LEX-
2003-06-16 18:26
2003.07.03
Подскажите, какой из учебников по Delphi 6 лучше купить?


3-7305
Fantasy
2003-06-09 05:06
2003.07.03
Пример простого лукап поля


11-7370
Alexander
2002-10-24 13:42
2003.07.03
Можно ли TKOLTrayIcon применять в сервисах?


14-7708
Delirium
2003-06-17 16:05
2003.07.03
C# Builder vs VS.Net 2003





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский