2010年7月10日 星期六

Delphi 建立Form的事件順序

Form的構造函數
OnCreate指示正在建立Form.
OnShow指示正在顯示Form,除了主窗體外,該事件還在將窗體的Visible設置為True或調用Show及ShowModal對象方法之後發生。如果窗體被隱藏,然後又顯示出來,也會觸發該事件。
OnActivate指定窗體成為了應用程序中的活動窗體。每當用戶從應用程序的一個窗體移到當前窗體時就會觸發該事件。
OnResize, OnPaint指定操作總發生在啟動時,但之後可能會重複很多次。

還有一個向窗體添加初始化代碼的方法:覆蓋構造器,通常做法如下所示:

constructor TForm1.Create(AOWner:TComponent);
begin
inherited Create(AOWner);
//extra initialization code
end;
在調用基類的Create對象方法之前,窗體的屬性還沒有裝載,而且內部組件還不能使用,為此,標準的方法是首先調用基類構造器,然後再進行定制操作。

OnCloseQuery.
OnClose: action參數 caNon--不允許窗體關閉。該值相當於設置OnCloseQuery事件的CanClose參數為False.
caHide--窗體沒有關閉,只是隱藏起來。
caFree--窗體被關閉,並釋放它所佔用的內存;如果是主窗體,應用程序將終止。
caMinimize--窗體沒有關閉,而是最小化。這是MDI子窗體的默認行為。
OnDestroy

沒有留言: