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处理  

 

posted on 2018-10-18 17:57  癫狂编程  阅读(327)  评论(0编辑  收藏  举报

导航

好的代码像粥一样,都是用时间熬出来的