120dpiでのレイアウト崩れ

掲示板で報告がありました。Windowsの画面のプロパティの設定でdpiを120に設定するとHTML出力の設定ダイアログのレイアウトが崩れて利用に支障があるとのこと。

試しに自分のPCでも設定を変更したところ確かにおかしくなりました。動きを見た感じではAnchorsのRightプロパティをTrueにしているとおかしくなるみたいです。

FormのScaledプロパティをFalseにすると解決するというのを見つけたので設定してみたところ、確かにレイアウトの崩れは解決しました。しかしdpiの設定を無視してしまいフォントサイズが小さいまま。dpiを120に設定している理由が視力が弱いからとあったのでできればこの方法は取りたくないところ。

いくつかプロパティを変更して見ましたが改善せず。今使っているのはDelphi 7なのですが、ひょっとしたらライブラリのバグかもしれないのでまずは最新版のパッチをあててみます。

それでも駄目だった時は、手元にある最新のバージョンはDelphi 2005なのでこれを使うという手もあるのですが、今使っているPCだと重くて使い勝手が悪くあまり使いたくないところ。というわけで、Delphi 7で頑張る道を選ぼうかと思います。

dpi120でフォームのレイアウトを修正しようと思っても既にレイアウトが崩れているので、この状態で直しても今度はdpi96でおかしくなるだろうという気がしたので、プログラムの修正はdpi96で行いました。dpiの変更はマシンの再起動が必要なので何回も再起動してしまいましたよ。非常に面倒でした。

で、最新のパッチをあてているのですが、パッチを入れるのにDelphi 7のCDがいるのですね。押し入れから引っ張り出しましたよ。