是不是只要调用 PrintDialog1.Execute;
之后关于这个对话框的数据会自动改变打印机的的打印属性,比如如果想打印第2页  就
设置 打印范围  从 2到2页
然后点确定就开始打印第2页了
当然之后要调用ShellExecute(Handle,'print',PChar('e:\新建 Microsoft Word 文档.doc'),nil, nil, SW_SHOW);
这个过程对不对呢?????

解决方案 »

  1.   

    例子:只 要 单 击“ 打 印” 按 钮 时 便 可 以 在 打 印机 上 输 出 文 件0S2.TXT, 打 印 事 件 的
    uses printers;procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
    printersetupdialog1.execute;  //选择输出的打印机以及其他打印控制选项
    end;procedure TForm1.BitBtn2Click(Sender: TObject);
    var
    lines:integer;
    prntext:system.text;
    //将PRNTEXT声名为一个在SYSTEM程序单元当中定义的文本文件
    begin
       if printdialog1.execute then
       assignprn(prntext); //将PRNTEST分配给打印机
       rewrite(prntext); //调用REWRITE函数,为输出打开已分配的文件
       printer.canvas.font:=memo1.font;
       //把当前MEMO1的字体指定给打印对象的CANVAS的字体属性
       for lines:=0 to memo1.lines.count-1 do
       writeln(prntext,memo1.lines[lines]);
       //把MEMO的内容写到打印机对象
       system.close(prntext); //关闭打印文件
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
    memo1.lines.loadfromfile('c:\dos\os2.txt');
    //在FORM建立时读入C:\DOS\OS2.TXT文件
    end;
    end.
      

  2.   

    WinExec可以吗,不是只能调 EXE程序吗
      

  3.   

    再问一下:执行完TPrintDialog  点确定按纽 是不是 把设置自动传给了打印机??还是需要自己另外把TPrintDialog的设置传给打印机???