▼ Mr.XRAYさん
こんにちは、yumapaです。
> のページのように,各カラムの描画設定ではなく,全てこの
> OnBerorePageDrawに書く方式でした.yumapaさんがどんな方法を使用し
> ているかわかりませんので,もしかしたら,各データ描画前のイベント
> であるOnBeforeDataDraweイベントを利用するのがいいかも知れません.
> このイベントの引数のTextを変更すると,描画する文字列を変更できま
> す.
plTackPrint1.Columns[1] 〒
plTackPrint1.Columns[2] 住所
plTackPrint1.Columns[3] 氏名
plTackPrint1.Columns[4]
というように、住所が2列目に表示される場合があることを想定して
plTackPrint1.Columns[4] 空のカラムをおいています。
--------------------------------------------------
------------------
procedure TForm1.plTackPrint1BeforePageDraw(Sneder: TObject; DataNo,
Page: Integer);
var s,s1,s2:string;
begin
s:=Query1.FieldByName('住所').AsString;
if Length(s) < 31 then
plTackPrint1.Columns[1].Text:=s
else
begin
s1:=Copy(s,1,30);
s2:=Copy(s,31,Length(s)-30);
plTackPrint1.Columns[1].Text:=s1;
plTackPrint1.Columns[4].Text:=s2;
end;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
plTackPrint1.Excute;
plPrev1.Title:='封筒印刷';
plPrev1.ShowModal;
end;
--------------------------------------------------
------------------
急に遠くへ出かけることになり、今出先からです。
Delphiの環境がないのですが、確かかこのように書いたつもりで(^^;
plTackPrint1.Columns[1].Text:=s1;
plTackPrint1.Columns[4].Text:=s2;
のデータが変更されなかったように記憶しています。
月曜日以降、再度挑戦してみたいと思います。
|