我现在做一个票据的打印,用户要求就象超市的票据打印一样。使用两边带孔的纸,票据已经印好在上面,每两张之间有虚线相间。
我在调试时,怎么刚打一张票据,整卷纸就都随之滚动出来了,如何控制,使之停在第二张的位置上,等待继续打印呢
我在调试时,怎么刚打一张票据,整卷纸就都随之滚动出来了,如何控制,使之停在第二张的位置上,等待继续打印呢
解决方案 »
- 资源文件有一个vcl skin的一个皮肤,在程序中怎么动态调用
- delphi能不能获取ie窗口的cookie?
- 用installshield6.22安装软件后,该如何自动删除安装目录下软件自动生成的文件?
- 关于com+远程对象的创建和调用,创建时出现错误(没有注册类别)
- 请问:做一个类似绘图的软件时,如何像开发工具界面一样,可以使元件可以向上向下移一层?选中时,周围出现六个点?
- 100分求图像合成转成透明
- 现在这个网站源码空间www.playicq.com,怎么上不去了,谁知道怎么上啊
- 请教:如何实现F1Book1的打印预览?在线等待!!!
- 怎么查看例子?什么是ACDZip.exe?
- 请问如何做数组控件?
- 问题还没有解决,高手过目 谢谢
- 有没有这样一本书,对Delphi的 vcl源代码作了一些分析和解释,哪有的下!
我是用的:
printer.BeginDoc;
....
printer.EndDoc;
我试了用printer.pageheight,可编译痛不过,提示该属性是只读的。还有,怎么设置成自定义纸呢?我在控制面板-》打印机-》属性里看了,没这个设置,我是应该在程序里控制吧,查了pringer的一些属性、过程,没看到有类似的。谢谢!
我一般只用它做报表的
用户按打印时,我就用刚才说的方法打印,只打填的数据,使数据在凭证上对号入坐就行了
用我以前的方法可以实现这个功能吗
var ADevice,ADriver,APort:array[0..255] of Char;
DeviceHandle:THandle;
DevMode:PDeviceMode;
begin
..
printer.GetPrinter(ADevice,ADriver,APort,DeviceHandle); if DeviceHandle=0 then
begin
printer.PrinterIndex :=printer.PrinterIndex;
printer.GetPrinter(ADevice,ADriver,APort,DeviceHandle);
end; if DeviceHandle<>0 then
DevMode:=GlobalLock(DeviceHandle); with DevMode^ do
begin
dmFields:=dmFields or DM_PAPERSIZE;
dmPaperSize:=0;
dmPaperLength:=1000;
end;
if DeviceHandle<>0 then
GlobalUnlock(DeviceHandle); try
printer.BeginDoc;
printer.textout();
..
finally
printer.EndDoc;
end;
end;
但执行结果仍然是全部卷出去了,是什么地方错了?
我用木鱼的方法试了下,在一个quickrep上放了几根QRshape,已将FORM的KEYPRVIEW属性设为TRUE了,可执行quickrep1.preview却什么也没有,打印也没东西
后,可自定议纸张大小(长、宽),上下左右的边距。
可在设计期规定,也可在运行期用程序更改,看您自己的了。