如果想自己编一个打印的模块,实现预览功能的话是不是可以通过TImage组件的Canvas属性来实现,目前我遇到的问题是先要绘制出表格,然后在根据相关联的数据库取出数据,填入表格中(既有文字又有图片)。我现在不能画出表格来,程序代码的功能在另一个程序里面是正常的,可以画出格来,是不是我对canvas(画布)的设置哪里不对?急呀~!

解决方案 »

  1.   

    我用一个全局变量声明的CanvasTemp: TCanvas
      

  2.   

     printer.Orientation := poPortrait;
     fblv := getdevicecaps(printer.handle, LOGPIXELSX);
     fblh := getdevicecaps(printer.handle, LOGPIXELSy);
     pageh := TRUNC((printer.pageheight / fblh) * 25.4);
     pagew := TRUNC((printer.pagewidth / fblv) * 25.4);
    上面的这几行,执行了什么操作?谢谢
      

  3.   

    procedure FillTable(Types:TypeOfPrint);定义混合表的单元结构
    procedure drawmemo;定义混合表的memo显示部分
    procedure drawTableImg;定义混合表的Img显示部分
    procedure DrawTable(Types:TypeOfPrint);定义混合表的表头
    procedure DrawTableFrame;定义混合表的框架
    procedure FillData;填充混合表的数据
    procedure FillTitle(Types:TypeOfPrint);建立表头
    procedure TableTitle;定义混合表的表头
    procedure TableData;写数据
    procedure printClick(Sender:TObject);打印