请教一个关于打印机默认打印的问题?

vigrous_chen 2002-04-13 02:49:53
加精
局域网中的一台计算机通过网络共享的方式连接了3台功能不同的打印机,
我是通过PrintDialog1来选择打印的,但是在选择了某一台计算机后,所打印
的内容总是发送到默认的打印机。这样就需要不断的在控制面板上切换打印机的
属性来达到目的。请问能否在执行PrintDialog1的Execute时,可否能使选择的打印机自动转换为默认,在打印完成后,再恢复原先的设置。请给一段代码好吗?
谢谢
...全文
50 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
vigrous_chen 2002-04-14
  • 打赏
  • 举报
回复
调用win.ini配置文件,有没有什么办法,使打印结束后,再恢复到原来的
打印默认设置?
zx_wang 2002-04-14
  • 打赏
  • 举报
回复
这是一个设置默认打印机的程序




unit MainFrm;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TMainForm = class(TForm)
cbPrinters: TComboBox;
lblPrinter: TLabel;
procedure FormCreate(Sender: TObject);
procedure cbPrintersChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
MainForm: TMainForm;

implementation
uses IniFiles, Printers;

{$R *.DFM}

procedure TMainForm.FormCreate(Sender: TObject);
begin
cbPrinters.Items.Assign(Printer.Printers);
cbPrinters.Text := Printer.Printers[Printer.PrinterIndex];
lblPrinter.Caption := Printer.Printers[Printer.PrinterIndex];
end;

procedure TMainForm.cbPrintersChange(Sender: TObject);
var
IniFile: TIniFile;
TempStr1, TempStr2: String;
S: array[0..64] of char;
begin
with Printer do
begin
PrinterIndex := cbPrinters.ItemIndex;
TempStr1 := Printers[PrinterIndex];
System.Delete(TempStr1, Pos(' on ', TempStr1), Length(TempStr1));
IniFile := TIniFile.Create('WIN.INI');
try
TempStr2 := IniFile.ReadString('Devices', TempStr1, '');
IniFile.WriteString('windows', 'device', TempStr1 + ',' + TempStr2);
StrCopy(S, 'windows');
SendMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(@S));
finally
IniFile.Free;
end;
end;
lblPrinter.Caption := Printer.Printers[Printer.PrinterIndex];
end;

end.
vigrous_chen 2002-04-14
  • 打赏
  • 举报
回复
这里的天空好冷,why?
vigrous_chen 2002-04-13
  • 打赏
  • 举报
回复
to yangkunjie 是什么里面,PrintDialog1中吗?
yangkunjie 2002-04-13
  • 打赏
  • 举报
回复
里面我记得有这个属性的,你试试看

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧