はじめまして。
hahahaと申します。
いつも参考にさせていただいております。
印刷プレビュー+プリンタ設定の組み合わせで
複数のプリンタ or Fax(Microsoft Fax)を切り替えて印刷しています。
しかし、切替がうまくいかないので書込みさせていただきました。
設定ファイルを2つ作成し、各々の設定でプレビューします。
プレビューではうまく切り替わるのですが、実際に印刷すると
それ以降、印刷した設定に全て乗っ取られてしまいます。
お手すきの時で結構ですので、確認してはいただけないでしょうか?
WindowsXp(sp2),Delphi7の環境です。
TPを転記いたします。
var
CuFile: String; //保存ファイル名
{■Method:プレビュー【LBP】}
procedure TForm1.Button1Click(Sender: TObject);
begin
plSetPrinter1.LoadFromFile('test.def');
plPrev1.BtnOptions:=plPrev1.BtnOptions+[boPrinterSetBtn];
plPrev1.ProcName :=TestPrint;
plPrev1.ShowModal;
plPrev1.OnPrinterSetupDialog:= nil;
end;
{■Method:プレビュー【FAX】}
procedure TForm1.Button4Click(Sender: TObject);
begin
plSetPrinter1.LoadFromFile('FAX.def');
plPrev1.BtnOptions:=plPrev1.BtnOptions+[boPrinterSetBtn];
plPrev1.ProcName :=TestPrint;
plPrev1.ShowModal;
plPrev1.OnPrinterSetupDialog:= nil;
end;
{■Method:設定保存【LBP】}
procedure TForm1.Button2Click(Sender: TObject);
begin
CuFile:= 'test.def';
plSetPrinter1.LoadFromFile(CuFile);
plPrev1.BtnOptions:=plPrev1.BtnOptions+[boPrinterSetBtn];
plPrev1.ProcName :=TestPrint;
plPrev1.OnPrinterSetupDialog:= plPrevPrinterSetupDialog;
plPrev1.ShowModal;
plPrev1.OnPrinterSetupDialog:= nil;
end;
{■Method:設定保存【FAX】}
procedure TForm1.Button3Click(Sender: TObject);
begin
CuFile:= 'FAX.def';
plSetPrinter1.LoadFromFile(CuFile);
plPrev1.BtnOptions:=plPrev1.BtnOptions+[boPrinterSetBtn];
plPrev1.ProcName :=TestPrint;
plPrev1.OnPrinterSetupDialog:= plPrevPrinterSetupDialog;
plPrev1.ShowModal;
plPrev1.OnPrinterSetupDialog:= nil;
end;
{■Event:プリンタ設定変更時(ファイル保存)}
procedure TForm1.plPrevPrinterSetupDialog(Sender: TObject);
begin
{設定した内容をplSetPrinter1のものとする}
plSetPrinter1.GetPrinterInfo(False);
{iniファイルに情報を保存}
plSetPrinter1.SaveToFile(CuFile);
end;
{□Method:テスト印刷}
procedure TForm1.TestPrint;
begin
plPrev1.FontHeight (120);
plPrev1.TextOut(250,300,'[プリンタの設定]の保存と読出し');
end;
※この現象、実は回避策を施しています。
plSetPrinter1.LoadFromFile(CuFile);
のあとに、
plPrev1.plSetPrinter:= plSetPrinter1;
を実行すればうまくいくのですが、
このような仕様なのでしょうか?
長い文章になってしまいました。申し訳ありません。
|