掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
QuickReportで枠内に入るように文字の大きさ調整 (ID:29020)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
【テスト環境】 OS:Windows XP SP2 on VirtualPC Delphi: 6(Update2 + RTLアップデート済み) + QR3.09 プリンタ:瞬簡PDF ZERO 2 & ホスト Epson PX-V600 共有 フォームにTQuickRepを貼り付け、Detailバンド作成 Detailバンドに QRDBEdit + QRLabel を配置 (QRLabelにフォントサイズを表示したいので、Edit -> Label で配置) プレビュー開始用にTButton配置 ソースコードは以下の通りで、ジュウザさんの無限ループに陥るコードそのものと思います。 初期フォントサイズ「12」で、幅が「40」未満になるまで、フォントサイズを小さくしています。 procedure TForm1.Button1Click(Sender: TObject); begin //プレビュー開始用 QuickRep1.Preview; end; procedure QRTextAdjust(Sender:TObject; dat:string; dfsize:word; maxwidth:integer); begin TQRDBText(Sender).Font.Size:=dfsize; TQRDBText(Sender).Caption:=dat; while (TQRDBText(Sender).Width > maxwidth) and //念のため、サイズチェックしておく (TQRDBText(Sender).Font.Size > 0) do begin TQRDBText(Sender).Font.Size:=TQRDBText(Sender).Font.Size - 1; end; end; procedure TForm1.QRDBText1Print(sender: TObject; var Value: String); begin QRTextAdjust(sender, Value, 12, 40); //フォントサイズ表示用 QRLabel1.Caption := IntToStr(QRDBText1.Font.Size); end; 【テスト結果】 文字数 QRLabelに表示されたフォントサイズ 5 9 2 12 4 12 10 4 15 3 7 7 PDF作成 & 共有プリンタに出力 共に同じ結果。 無限ループ再現できず。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.