C++ Builder2010窗体的生命周期是指窗体从创建到关闭的过程。在C++ Builder2010窗体的生命周期中,有以下五种事件发生。

OnCreate发生在窗体被创建时。通常在此事件中进行初始化工作。
OnShow发生在窗体显示出来时
OnActivate发生在窗体被激活时
OnCloseQuery发生在窗体尝试关闭时。通常在此事件中进行窗体关闭前的一些准备工作
OnClose发生在窗体关闭时

    下面,我们通过C++Builder2010创建VCL Forms Application工程来观察体会窗体生命周期中的事件,如下图:

wKiom1at8t3BbHXTAABRFKyw19k043.jpg


双击Form1窗体,在窗体的TForm1::FormCreate(TObject *Sender)成员函数中添加如下代码:

void __fastcall TForm1::FormCreate(TObject *Sender)
{
    ShowMessage("OnCreate...");
}

点击Object inspector的事件页,依次为OnShow,OnActivate,FormCloseQuery,FormClose

添加如下代码:

void __fastcall TForm1::FormShow(TObject *Sender)

{

    ShowMessage("OnShow...");

}

//---------------------------------------------------------------------------


void __fastcall TForm1::FormActivate(TObject *Sender)

{

    ShowMessage("OnActivate...");

}

//---------------------------------------------------------------------------


void __fastcall TForm1::FormCloseQuery(TObject *Sender, bool &CanClose)

{

    ShowMessage("OnCloseQuery...");

}

//---------------------------------------------------------------------------


void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)

{

    ShowMessage("OnClose...");

}

编译运行该工程,观察程序运行结果。