首页 > 学院 > 开发设计 > 正文

DEV的打印

2019-11-08 01:00:39
字体:
来源:转载
供稿:网友

DEV的打印功能确实强大,但是初学者很难使用。看了打印的例子,还是不知道如何使用,从窗体文件中能看到有打印连接对象PRinter1Link,但就是不知道如何关联。无意中双击了一下dxComponentPrinter1,惊喜出现,如下图点击。

无意中双击了一下dxComponentPrinter1,惊喜出现,如下图点击。

1、Add以增加打印对象,可以是窗体,也可以是cxGrid,cxDBPivotGrid等,系统会添加相应的PrintLink对象。

2、在这里可以维护打印对象:增加、删除、设计。

3、动态创建。

虽然在设计期可以方便的设计打印功能了,但有时还是需要动态创建打印功能。动态创建又是另外一回事了,不像设计期那么方便。

摸索了几个小时,加上看原代码,终于知道如何创建了。其实很简单,只需要几句话就搞定了。

procedure TGridMgr.miprintClick(Sender: TObject);

var

  dxComponentPrinter:TdxComponentPrinter;

  PrinterLink1:TBasedxReportLink;

begin

  dxComponentPrinter :=TdxComponentPrinter.Create(nil);

  PrinterLink1 :=dxComponentPrinter.AddLink(FGrid);

 dxComponentPrinter.Preview(True, PrinterLink1);

  PrinterLink1.Free;

  dxComponentPrinter.Free;

end;

重点解释:

PrinterLink1 :=dxComponentPrinter.AddLink(FGrid);这一句是核心,表达了三层意思。1是PrintLink对象不要用类来直接创建,2是应该由打印对象dxComponentPrinter来创建,3是创建方法AddLink的参数是要打印的对象。系统会根据打印对象的不同正确创建相应的PrintLink对象。

4、多个打印连接对象时如何正确调用,在打印前设置要打印的对象即可。

  dxComponentPrinter1.CurrentLink :=dxComponentPrinter1Link2;//dxComponentPrinter1Link1;

  dxComponentPrinter1.Preview();


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表