名前 題名 ▼ hahahaさん > はじめまして。 > 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; > を実行すればうまくいくのですが、 > このような仕様なのでしょうか? > > 長い文章になってしまいました。申し訳ありません。 GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link