Принтиране от панел
1 отговора
93 прегледа
Принтиране от панел
Да видим дали мога да си формулирам правилно въпроса. Значи искам да принтирам директно от Scrollbox:
with Printer do begin
BeginDoc;
ScrollBox1.PaintTo(Handle, 0, 0);
EndDoc;
end;
Всичко е добре, само че на принтера ми излиза съдържанието на Scrollbox-а, но в умален вид. Ако направя ScaleBy компонентите се уголемяват, но CheckBox-овете остават с малки чекчета и на листа излиза много грозно. Решение на това е да си предифинирам тези компоненти които излизат малки, но този вариант не ми харесва. Принтера има StretchDraw и Draw, но в хелпа пише, че не върви на всички принтери, което означава, че и това не ми върши работа. Не искам да използвам каквито и да е репорти ( особено QReport :( ).
Може ли да си уголемя образа излизащ на листа или има ли друг начин да се принтира без репорт, например с някое API или и аз не знам вече с какво. Мерси предварително.
with Printer do begin
BeginDoc;
ScrollBox1.PaintTo(Handle, 0, 0);
EndDoc;
end;
Всичко е добре, само че на принтера ми излиза съдържанието на Scrollbox-а, но в умален вид. Ако направя ScaleBy компонентите се уголемяват, но CheckBox-овете остават с малки чекчета и на листа излиза много грозно. Решение на това е да си предифинирам тези компоненти които излизат малки, но този вариант не ми харесва. Принтера има StretchDraw и Draw, но в хелпа пише, че не върви на всички принтери, което означава, че и това не ми върши работа. Не искам да използвам каквито и да е репорти ( особено QReport :( ).
Може ли да си уголемя образа излизащ на листа или има ли друг начин да се принтира без репорт, например с някое API или и аз не знам вече с какво. Мерси предварително.
Re: Принтиране от панел
Излиза в умален вид, защото разделителната способност на принтера е по-голяма от тази на екрана. Първото, което се сещам, че можеш да направиш е да копираш bitmap-а на scrollbox-а ти с функция StretchBlt, като й зададеш подходящи стойности на параметрите разбира се :)