喫茶XRAYトップページ

[▲前のスレッド]

[30] plPrev上での再描画返信 削除
2004/11/12 (金) 18:04:13 yumapa
Mr.XRAYさん こんにちはyumapaです。
いつも大変お世話になっております。

現在、plPrev & plTackPrint を利用させて頂き封筒印刷を行って
おります。
そこで、プレビュー画面上(例えばplPrevForm1)にCheckBoxを
一つ配置し、CheckBox = True にしたとき '取扱注意' という文言を
封筒に表示させ、印刷するようにしたいと考えております。
下記のように考えましたが、エラーとなってしまいます。

procedure TplPrevForm1.CheckBox1Click(Sender: TObject);
begin
  if CheckBox1.Checked=True then
    begin
      Form2.plPrev1.TextRectLC(100,500,300,400,'取扱注意');
      Form2.plPrev1.Display(Form2.plPrev1.PageNumber);
    end;
end;

どのようにすべきか、よろしくご指導下さいm(_ _)m
WinXP PRO , Delphi7 PRO

[31] Re:plPrev上での再描画返信 削除
2004/11/12 (金) 22:21:33 Mr.XRAY 〔HomePage
▼ yumapaさん

> 一つ配置し、CheckBox = True にしたとき '取扱注意' という文言を
> 封筒に表示させ、印刷するようにしたいと考えております。


よくぞ聞いて下さいました.プレビュー画面で,プレビューの内容を変更出来
るのがTplTackPrev(旧TplTackPrint)の特徴なのです.

# あの,すみません.今,かなり酔っぱらっています.
# アルコールは弱いのですが,好きなんです.
# もしかしたらメッチャクチャなレスかも知れません...

> procedure TplPrevForm1.CheckBox1Click(Sender: TObject);
> begin
>   if CheckBox1.Checked=True then
>     begin
>       Form2.plPrev1.TextRectLC(100,500,300,400,'取扱注意');  (1)
>       Form2.plPrev1.Display(Form2.plPrev1.PageNumber);       (2)
>     end;
> end;


これですが,(2)はそのままです.その頁を表示するという意味ですね.
問題は(1)です.これは,
OnAfterLabelDraw またはOnAfterPageDraw
(あるいは,OnBeforeLabelDrawとかOnBeforePageDraw)
にコードを書きます.

つま.(2)のDisplayでその頁を描画開始します.その頁を描画するときに,
そのイベントに(1)のコードを実行するというわけです.
よろしくお願いします.
こんな感じです.

 procedure TplPrevForm1.CheckBox1Click(Sender: TObject);
 begin
      Form2.plPrev1.Display(Form2.plPrev1.PageNumber);       (2)
 end;

 procedure TplPrevForm1.plTackPrev1BeforePageDraw(Sneder: TObject;
   DataNo,Page: Integer);
 begin
     if CheckBox1.Checked=True then
     begin
       Form2.plPrev1.TextRectLC(100,500,300,400,'取扱注意');
     end else
     begin
       Form2.plPrev1.TextRectLC(100,500,300,400,'');
     end;
 end;

ン?,Form2がわからない.もう頭が回りません.ゴメンなさい.
もしかしたら,TForm2.plTackPrevBeforePageDraw....かな.


[32] Re2:plPrev上での再描画返信 削除
2004/11/13 (土) 00:47:22 yumapa
Mr.XRAYさん こんばんはyumapaです。
いつもお世話になっております。

> TplTackPrev(旧TplTackPrint)の特徴なのです.

plTackPrintのBeforePageDrawイベントに、ご提示頂いたままを
記述することで上手くいきました。

ごご指導ありがとうございましたm(_ _)m




[▼次のスレッド]
INCM/CMT
Cyclamen v3.82