我在DBChart的DBChart1AfterDraw(Sender: TObject);事件中加如了如下代码:
DBChart1.Canvas.Font.Name:='宋体';
DBChart1.Canvas.Font.Size:=10;
TextOut(15,15,'附加内容');然后调用 Chartpreview(Self,DBChart1); 打印预揽并打印。现在问题是打印后'附加内容' 这几个字太大了,估计是大一号字。不管怎么调节都很大,谁知道是什么原因。
打印预揽没有问题。 D7+XP 系统。请高手指点

解决方案 »

  1.   

    主要是打印后,TextOut(15,15,'附加内容'); 输出的'附加内容'这几个字太大了。无法控制
      

  2.   

    程序如下
    uses Teeprevi;
    procedure TForm1.DBChart1AfterDraw(Sender: TObject);
    var
     yposition1,yposition2,x1:integer   ;
    begin
          with   DBChart1,DBChart1.canvas   do
          begin
             // title.text.text:='检测分析曲线;//+<<+datetostr(now)+>>';
              pen.width:=3;
              pen.style:=pssolid;
              pen.color:=clred;
              x1   :=   leftaxis.calcyposvalue(1900);//取得此线距图形顶部的距离.
              yposition1:=bottomaxis.IStartPos;
              yposition2:=bottomaxis.IEndPos;
              DBChart1.canvas.moveto(yposition1,x1);
              DBChart1.canvas.lineto(yposition2,x1);
              DBChart1.Canvas.Brush.Style:=bsClear;
              DBChart1.Canvas.Font.Name:='宋体';
              DBChart1.Canvas.Font.Size:=10;
              TextOut(yposition1+10,x1-10,'附加内容');      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      Chartpreview(Self,DBChart1);
    end;