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

解決


あすパパ  2010-08-11 04:36:55  No: 38965  IP: 192.*.*.*

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

よろしくお願いします。

編集 削除
igy  2010-08-11 07:59:29  No: 38966  IP: 192.*.*.*

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

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

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

編集 削除
あすパパ  2010-08-21 21:25:54  No: 38967  IP: 192.*.*.*

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

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

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

編集 削除
あすパパ  2010-08-22 00:13:46  No: 38968  IP: 192.*.*.*

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

編集 削除