2009-08-24 60 views
2

我有一個Delphi 7應用程序,WinXP的開發機器上窗體大小是一樣的,因爲它的設計變化。德爾福的應用程序,窗體大小不同的機器上

然而,Vista的計算機上運行的應用程序,某些形式已擴大20-30%,留在右側和形式底邊很大的空白。

在我們客戶的WinXP的機器之一,形式有收縮,導致滾動條顯示出來的形式。

在大多數其他機器上,它顯示OK。

的應用程序不會記得窗體大小上某種形式使用的最後一次,並使用它旁邊的形式被打開的時候,但是,即使除去這些設置,默認窗體大小是它是如何設計的仍然是不同的。

任何想法?

回答

11

這聽起來像是一個well known issue with Delphi forms and interactions with system font sizes

德爾福形式的默認行爲是試圖擴展到尊重時(runtime)用戶的桌面環境。然而,這可能會產生意想不到的副作用,並且您的「症狀」聽起來像這可能是您的情況。

但是一切都不會丟失!該縮放屬性(默認爲TRUE)可以被設置爲FALSE,以防止這一點,但我建議你讀了第一篇文章,並考慮The information in this article,以確定這是否是你的情況的解決方案。

+0

謝謝,問題是客戶端使用大尺寸顯示(120dpi vs普通96dpi) – Robo 2009-08-30 23:50:48

1

Vista機器上的大字體與小字體可能?

0

使用此代碼在OnCreate事件爲每個表單:

如果Win32Platform = VER_PLATFORM_WIN32_NT然後 Font.Name:= '宋體2' 其他 Font.Name:= '宋體';