一个窗体产生时,发生这些事件次序
一个窗体消失时,发生事件的次序
1、OnActivate
当窗体被初始激活时,就会发生OnActivate事件,当初始创建窗体或者用户从一个窗体切换到另一个窗体时,就可能激活窗体,Application对象也有一个OnActivate事件,当用户从一个应用程序切换到另一个应用程序时,就会产生此事件。
2、OnClose和OnCloseQuery
当关闭一个应用程序时,就要发出OnClose事件,OnClose事件调用OnCloseQuery事件来看一看是否真的要关闭窗体,如果OnCloseQuery事件返回False,窗体就不会关闭。
3、OnCreate
当窗体初始化创建时,就会发生OnCreate事件,对特定窗体的任何实例,OnCreate事件只发生一次,OnCreate处理程序只是用来执行任何启动任务,这些启动任务对于窗体来说是需要的。
4、OnDestroy
OnDestroy事件是OnCreate的反事件,用来清除窗体动态分配的所有内存,或者做其他一些清理事务。
5、OnDragDrop
当一个对象被拖放到窗体上时,就会发生OnDragDrop事件,如果窗体支持拖放,那么就会对这个事件有所响应。
6、OnMouseDown,OnMouseMove和OnMouseUp
就是窗体上响应鼠标点击和鼠标运行。
7、OnPaint
每当窗体需要重画时,就会发生OnPaint事件,有很多原因会导致这个事件发生。响应这个事件,可以作为应用程序所需要的任何画图,并随时可以显示出来。在大部分情况下,专用组件会自己画图,但有些情况下,我们需要自己动手画图。
8、OnResize
每当重新缩放窗体时,就会发生OnResize事件,响应这个事件可以调整窗体上的组件或者对窗体重画。
9、OnShow
在窗体变成可见之前,就会发生OnShow事件。在窗体显示之前,可以用这个事件完成图昂提需要处理的任何事情
举例代码
Var
Form2 :TForm
Begin
Form2 :=TForm.Create(nil);
Form2.Show;
end
动态销毁对象
Form2.free;