Self.Image1.Picture.LoadFromFile(FileName);
        printer:=TPrinter.Create;
        printer.BeginDoc;
        printer.Canvas.StretchDraw(Rect(100,300,printer.PageWidth-100,printer.PageHeight-300),Self.Image1.Picture.Bitmap);
        printer.EndDoc;代码就是这样了,关键是现在只认识我机器连的一台打印机,别的打印机都不认识!!!郁闷!!!这需要怎么解决阿

解决方案 »

  1.   

    你没有选择打印机,当然就打印到你默认的打印机上
    用Printer.PrintIndex:=???
      

  2.   

    系统的printer是指你机的默认的打印机,在此段代码加上弹出打印机对话框即可进行选择,并且后面程序的printer就会默认你选择的打印机
      

  3.   

    使用Printers单元定义的全局变量Printer就可以了,如:procedure TForm1.Button1Click(Sender: TObject);begin
      with Printer do
      begin
        BeginDoc;
        Canvas.TextRect(Rect(200,200,PageWidth-200,PageHeight-200),
                        200, 200, Memo1.Lines.Text);
        EndDoc;
      end;
    end;————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  4.   


            printer:=TPrinter.Create;不用这句,
    uses printers
      

  5.   

    如果要选择不同的答应机,可以从Printer.Printers中取出,并让用户选择,最后设置Printer.PrinterIndex为被选择项的序号。————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————