2009-08-24 13 views
2

私はDelphi 7アプリケーションを持っていますが、WinXP開発マシンではフォームサイズは設計したものと同じです。デルファイアプリ、フォームサイズはマシンによって異なります

しかし、Vistaマシンでこのアプリケーションを実行すると、一部のフォームが20-30%に拡大され、フォームの右下に大きな空白が残ります。

クライアントのWinXPマシンの1つで、フォームが縮小され、スクロールバーがフォームに表示されます。

他のほとんどのマシンでは、OKと表示されます。

アプリケーションは、最後に一部のフォームで使用されたフォームサイズを覚えていて、次にフォームを開くときに使用しますが、これらの設定を削除しても、デフォルトのフォームサイズは設計方法とは異なります。

アイデア?

答えて

11

well known issue with Delphi forms and interactions with system font sizesのようになります。

Delphiフォームのデフォルトの動作は、(ランタイム)ユーザーのデスクトップ環境に合わせて縮尺を変更することです。これは意図しない望ましくない副作用を引き起こす可能性があり、このような "症状"のような音があなたのケースで起こっている可能性があります。

しかし、すべてが失われていません! Scaledプロパティ(デフォルトではTRUE)をFALSEに設定すると、これを防ぐことができますが、この記事を読むことをお勧めします。また、The information in this articleを検討して、これが正しい解決策であるかどうかを判断してください。

+0

問題は、クライアントが大型ディスプレイで使用していたことです(120dpiと通常の96dpi) – Robo

1

大規模なフォントと小さなフォントの組み合わせは、おそらくVistaマシンでは?

0

使用すべてのあなたのフォームのOnCreateイベントイベントでこのコード:

場合Win32Platform = VER_PLATFORM_WIN32_NTその後、 Font.Name:= 'MSシェルはDlg 2' 他 Font.Name:= 'MSシェルはDlg';

関連する問題