Lazarus で ExtPascal ライブラリ (ExtJS を囲むラッパー) を使用してボタン (TExtButton) を配置しようとしています。ボタンのテキストとフォントに基づいてボタンの幅を設定したい。GetWidth と JSExpression と ExtUtilTextMetrics のさまざまな組み合わせを試しましたが、返される答えは -420,000 のようなものです。
次のような呼び出しを使用してフォントを変更できなかったことが関連している可能性があります。
JSCode('style:{"font-size":"'+ FontSize +'px","font-family":"Tahoma"}');
しかし、その方法で得られる唯一の効果は、フォントを十分に大きく設定するとボタンが高くなることでしたが、ボタンのテキストは元の小さなフォントでレンダリングされました.
そこで、次の式を使用して、ボタンの Text プロパティに渡される文字列にスタイルを入れることにしました。
result := '<b style="font-size:1.4em;font-family=sans-serif;color:rgb(14,63,138);">' + s + '</b>'
正確なテキスト幅を計算するのを手伝ってくれる人はいますか?
TIAマーク