名前 題名 ▼ みねまさん > Mr.XRAYさん、はじめまして > Tplシリーズ大変便利に利用させていただいてます。本当に便利ですね。 > 特にTplTacPrev の便利のよさにはほんとにビックリしました。 > タックシールの印刷プログラムがあんなに簡単に出来るなんて、、、。 > > さて、TplTacPrev を利用していて、印刷前に用紙の設定を変更したものが、 > 反映されたりされなかったりする事があるので、どうすればいいのか教えて > いただきたいと思っています。 > > 具体的には、 > Form に TplTacPrev を二つ置いて、片方はA4横、もう一方はA4縦で > 印刷しようとしています。(データセットは同じ) > 用紙の切り替えは NKPrinter を利用しています。 > plSetPrinter は利用せずに、デフォルトプリンターを利用するよう > にしています。 > (#利用する場所によってプリンターが違うので通常使うプリンター > を利用するようにしています) > > 実際のコーディングは以下のようにしています。 > > procedure TForm_CustTacPrint.AC_ListPreviewExecute(Sender: TObject); > begin > NkPrinter.Orientation := nkOrLandScape; > NkPrinter.ApplySettings; > { IDEでLabelWidthを設定できないので、ページ設定変更後設定しなおす } > TacPrev_CustList.LabelWidth := 2600; > TacPrev_CustList.Preview; > end; > > この場合、NkPrinter.ApplySetting を終わった時点では > plTacPrev(TacPrev_CustList) の PageWidth が変更されていないので、 > TacPrev_CustList.LabelWidth := 2600; が変更されません。 > (PageWidth=1998になっていて、LabelWidth=1998に設定される) > > ただし、2回目以降のPreview では、上記のコードでうまくいきます。 > > プリンタの用紙の変更があったことを TplTacPrev にうまく伝えるには > どうしたらよいでしょうか? > > GIF,JPEG,PNG画像ファイル及びLZH,ZIPファイルをアップロードできます.600 x 1200 ピクセルを超える画像は縮小表示されます(画像クリックで拡大表示). (上限122000(120k)バイト) 削除キー Link