文字列を表示するとき、高さを自動調節するには

解決


かきざき  2013-07-29 22:59:30  No: 44937

XE4 Firemonkey でプログラムしています。
TMemoやTLabel を使って、Wordwrapをtrueにすると複数行の文字列を表示することができますが、TMemoやTLabel等のコントロールの高さを文字列の行数に合わせることができなくて、必要以上の空行ができます。
他のコントロールを使ってこの問題を解決する方法はありますか?また、コードで文字列の行数を所得して、コントロールの高さを変えるといったことは可能なのでしょうか。
よろしくお願いします。


take  2013-07-29 23:54:38  No: 44938

ちょっと触ってみた感じで正確ではありませんが

  Memo1.Height := -(Memo1.Font.Height - 1) * Memo1.Lines.Count + 2;

【Memo1.Font.Height】
フォントの高さ Pixcelを -1したもの
【-1】
行間

【+2】
Memoの周辺分を考慮


かきざき  2013-08-03 17:43:10  No: 44939

take様  ありがとうございます。

Memo1.Lines.Count は文字列の行数を表していると勘違いしていました。実際には Memo の表示上の行数を表していることをテストして確認できました。

これでなんとかなりそうです。ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加