TSpeedButtomのフォントサイズ(D7)

解決


あすパパ  2010-08-11 13:36:55  No: 38965

Delphi7でXPManifestを乗せたフォームで、SpeedButtomを使用しているのですが、Panel1に乗せたSpeedButtom1は、フォントサイズの指定が聞いているようなのですが、Panel2に乗せたSpeedButtom2はどうやっても大きいサイズのままになります。
panel,SpeedButtomともに全く同じ設定にしているつもりなのですが、異なる動作となります。
どうすれば、SpeedButtomでフォント指定(特にサイズを変更したい)を有効にできるのでしょうか。
少し、Buttom.pasを追いかけてみましたがたどり着けませんでした。

よろしくお願いします。


igy  2010-08-11 16:59:29  No: 38966

>Delphi7でXPManifestを乗せたフォームで、SpeedButtomを使用しているのですが、Panel1に乗せた SpeedButtom1は、
>フォントサイズの指定が聞いているようなのですが、Panel2に乗せたSpeedButtom2はどうやっても大きいサイズのままになります。

こちらで試したかぎりでは、フォントサイズを指定したところ、
正しく指定されたサイズで表示されます。
(Delphi7 最新アップデート適用済み。OS:Windows Xp)

XPManifest、Panel、SpeedButtomだけでテストしても、同様の結果になりますか?


あすパパ  2010-08-22 06:25:54  No: 38967

igy さん  レスありがとうございます。

質問の意図が伝わっていないようで、すみません。
>XPManifest、Panel、SpeedButtomだけでテストしても、同様の結果になりますか?
単純なFormでは問題なく表示できるのですが、いろいろ配置したFormだとフォントサイズの指定が効かないようです。
Size=9 としているのに、Enabled=False だと、Size=9で表示され、Enabled=True だと、Size=12 で表示されたりと変な動きです。

XPManifest を使うと、どこか違う定義が有効になる場合があるのでしょうか?


あすパパ  2010-08-22 09:13:46  No: 38968

VCLソースを追いかけてみたところ、Canvas に font 情報を一括で設定後に一部(Font.Colr)置き換えて、最終的に DrawText API で描画しているようです。従ってAPI内部で、XPManifest を適用した場合に意図しない状態になる物と推測します。
ということで、あきらめました。


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

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






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