同时还可以设置:行距字体页边距页头页脚

解决方案 »

  1.   

    Pages := TMetafile.Create;
      PageCanvas := TMetafileCanvas.Create(Pages,0);
      With PageCanvas do begin
        Brush.Style := bsClear;
        Pen.Style := FPenStyle;
        Font.Assign(TTreeView(TreeSource).Font);
        Font.Size := Font.Size*FPrintRatio;
      end;
      for i :=0 to TreeView.Items.Count-1 do begin
        TempTreeNode := TreeView.Items[i];
        if TempTreeNode.Level = 0 then begin
          With PageCanvas do begin
              MoveTo(10,10);
              LineTo(10,10+TextHeight(TempTreeNode.Text) div 2);
              MoveTo(10,10+TextHeight(TempTreeNode.Text) div 2);
              LineTo(10+10,10+TextHeight(TempTreeNode.Text) div 2);
            end;
          end;
          PrintNode(TempTreeNode,20,20,10+PageCanvas.TextHeight(TempTreeNode.Text));
        end else
          Continue;
      end;
      PageCanvas.Free;
      PageList.Add(Pages);
      PageCanvas := Nil;  Printer.BeginDoc;
      for i := 0 to PageList.Count-1 do begin
        TempPage := PageList.Items[i];
        PageCanvas := TMetafileCanvas.Create(TempPage, 0);
      With PageCanvas do begin
        Brush.Style := bsClear;
        Pen.Style := FPenStyle;
        Font.Assign(TTreeView(TreeSource).Font);
        Font.Size := Font.Size*FPrintRatio;
      end;
        PageCanvas.Draw(0,0,TempPage);
        PageCanvas.Free;
        PageCanvas := Nil;
        Printer.Canvas.Draw(0,0,TempPage);
        if i <> PageList.Count-1 then
          Printer.NewPage;
      end;
      Printer.EndDoc;
      

  2.   

    中原同学:代码不完整,无法编译啊,能不能给我一个完整的project?
    发我邮箱里,可以吗?
    [email protected]