▼ Mr.XRAYさん
コードまで書いていただきありがとうございました。
プリンターセットの設定をコンボやエディットで変更して
プレビューボタンで変更とした場合うまくいかなかったので
(自分のやり方がまずいかもしれませんが)、又、色々やってまして
結局、FormPanel2サンプルを参考にし、plSetPrinterとplPrev1をそのつど
作成し、プリンターセットルーチンに渡すようにしました。
これでなんとか、変更できるようになりました。
どうも、アドバイスをありがとうございました。(感謝!)
>
> TplPrevのサンプル[EnterForm]ですね.
> これは逐次表示方式ですので,以下の方法できます.
>
> plPrev1のBtnOptionプロパティのboPrinterSetBtnをTrueにします.
> すると,プレビューすると[プリンタ設定]ボタンが表示されます.
> このボタンのクリックイベントを作成します.
>
> procedure TEnterForm.PrinterSetBtnClick(Sender: TObject);
> begin
> //継承元のコードを実行
> inherited;
> //保存する場合は以下のコードを追加
> plPrev1.plSetPrinter.SaveToFile('PrinterSetting.plv');
> end;
>
> これだけです.また上のコードで設定を保存し,プレビューの時にその設定
> を使用したい場合は,plPrev1のOnFormShowイベント内で読出します.
>
> procedure TEnterForm.plPrev1FormShow(Sender: TObject);
> begin
> plPrev1.Title:='郵便払込取扱票入力画面';
>
> //現実のアプリではデータベース等からの読出しに相当
> Edit1.Text:='31500';
> Edit2.Text:='ボーランドジャパン株式会社';
> Edit3.Text:='151-8533';
> Edit4.Text:='東京都渋谷区笹塚1-50-1';
> Edit5.Text:='笹塚NAビルディング';
> Edit6.Text:='□□□□ソフト株式会社';
> Edit7.Text:='□□ □';
> Edit8.Text:='03-1234-5678';
>
> //払込用紙の大きさは横180.0mm縦115.0mm
> MyPaperWidth :=1800;
> MyPaperHeight:=1150;
>
> //保存したプリンタの設定を読出す
> plPrev1.plSetPrinter.LoadFromFile('PrinterSetting.plv');
> //用紙の表示サイズと同じユーザ定義用紙を作成
> // plPrev1.plSetPrinter.SetUserPaper
> // ('払込用紙',MyPaperWidth,MyPaperHeight);
>
> //表示幅も無効にする
> // plPrev1.ViewWidth :=MyPaperWidth;
> // plPrev1.ViewHeight:=MyPaperHeight;
>
> //描画ルーチン指定
> plPrev1.ProcName :=DrawTest;
> //入力開始位置にフォーカスをセット
> ActiveControl:=Edit1;
> //このフォームを表示するのでShowModalメソッドは不要
> end;
>
> また,プレビューフォームにボタン等を配置して設定する場合は,再表示の後,
> 設定後のプリンタのプロパティ値を
>
> plPrev1.Display(表示頁番号);
> plPrev1.plSetPrinter.GetPrinterInfo; //(引数なし)
>
> のようにして,取得してから保存します.
|