|
Delphi是古董級編程工具,但比COLBOL年輕,而且至今仍然在不斷推出新版本。Delphi 7從發(fā)行到今天也快20年了,在64位Win10下還能夠穩(wěn)定運行,不能不說當年Borland公司的工程師真的都是天才。 但是Delphi 7寫的程序,運行時窗體總是和設(shè)計期不一樣,變形,特別是窗體的邊緣處,丑。這件事情不是新情況,當年Windows 2000/XP出現(xiàn)的時候,Delphi桌面程序在Win98和win2000/XP/2003之間窗體都有一些變化,人們提出各種解決辦法;到win7/8/10時代,Delphi也只能以兼容方式在這些系統(tǒng)上運行,好在我用它只是方便解決一些批量的自動化的手邊兒事,對窗體變形不變形沒有太高的要求。今天恰巧,解決了這個疑難。 所謂窗體的變形,就象圖中的這個按鈕,本來按鈕下邊界和窗體下邊界,在設(shè)計期是有一定的間距的,比較符合規(guī)范。但若以默認的設(shè)置,運行期就是右側(cè)的樣子,那個間距消失了,看著比較不舒服。 把窗體的borderstyle設(shè)置成bsSingle(原來默認是bsSizeable),再把AutoScroll屬性設(shè)置設(shè)置為False(原來默認是True)。編譯,運行,邊界間距就正常了。 如果在事件過程里寫 borderstyle:=bsSingle; form1.AutoScroll:=False; 也是可以的,且不必調(diào)用update和Refresh,當然窗體會在事件發(fā)生時迅速一閃。 這里設(shè)置的關(guān)鍵,實際應(yīng)該只要boderstyle就可以了,但是有時候總會遇到這樣或那樣的問題,一般為保證窗體不變形的幾個窗體屬性,除borderstyle之外,大略有 Font.Charset= ANSI_CHARSET/或GB2312_CHARSET Scaled= False AutoSize= False AutoScroll= False 順手把以前搞的一個排考場的東西修改了一下,正常了。 |
|
|
來自: 新用戶5228KeDY > 《待分類》