Delphi7でXPManifestを乗せたフォームで、SpeedButtomを使用しているのですが、Panel1に乗せたSpeedButtom1は、フォントサイズの指定が聞いているようなのですが、Panel2に乗せたSpeedButtom2はどうやっても大きいサイズのままになります。
panel,SpeedButtomともに全く同じ設定にしているつもりなのですが、異なる動作となります。
どうすれば、SpeedButtomでフォント指定(特にサイズを変更したい)を有効にできるのでしょうか。
少し、Buttom.pasを追いかけてみましたがたどり着けませんでした。
よろしくお願いします。
>Delphi7でXPManifestを乗せたフォームで、SpeedButtomを使用しているのですが、Panel1に乗せた SpeedButtom1は、
>フォントサイズの指定が聞いているようなのですが、Panel2に乗せたSpeedButtom2はどうやっても大きいサイズのままになります。
こちらで試したかぎりでは、フォントサイズを指定したところ、
正しく指定されたサイズで表示されます。
(Delphi7 最新アップデート適用済み。OS:Windows Xp)
XPManifest、Panel、SpeedButtomだけでテストしても、同様の結果になりますか?
igy さん レスありがとうございます。
質問の意図が伝わっていないようで、すみません。
>XPManifest、Panel、SpeedButtomだけでテストしても、同様の結果になりますか?
単純なFormでは問題なく表示できるのですが、いろいろ配置したFormだとフォントサイズの指定が効かないようです。
Size=9 としているのに、Enabled=False だと、Size=9で表示され、Enabled=True だと、Size=12 で表示されたりと変な動きです。
XPManifest を使うと、どこか違う定義が有効になる場合があるのでしょうか?
VCLソースを追いかけてみたところ、Canvas に font 情報を一括で設定後に一部(Font.Colr)置き換えて、最終的に DrawText API で描画しているようです。従ってAPI内部で、XPManifest を適用した場合に意図しない状態になる物と推測します。
ということで、あきらめました。
ツイート | ![]() |