1. 程式人生 > >Delphi中Form的position屬性與程式碼自定義窗體位置

Delphi中Form的position屬性與程式碼自定義窗體位置

通過Form的Position屬性可設定窗體的初始位置,如選擇DesktopCenter為桌面中心,ScreenCenter為螢幕中心,等等。 這個屬性在很多時候簡化了程式程式碼。

  但是,如果設定了position為ScreenCenter和DesktopCenter等,在窗體oncreate和onshow事件中使用程式碼控制窗體的位置就會不成功了,無論設定Self.Top,Self.Left為什麼值,最後窗體都會自動根據Position自動調整位置。

  我使用下面方法去在設定了position之後在有必要時使用程式碼重新調整窗體位置。

if(NeedAdjustPosition)  
begin ///在需要調整窗體位置時要將postion屬性改變 Self.Position := poDesigned; Self.SetBounds(nLeft,nTop,nWidth,nHeight); end; ///不需要調整窗體位置時,讓delphi自已根據Postion處理