浅谈Delphi中窗体的事件

开发 开发工具
Form窗体可以响应各种各样的时间,今天我们这篇文章就跟大家谈谈Delphi中窗体的事件。

  Form窗体可以响应各种各样的时间,在Object Inspector的Events页面中罗列了一大堆,如下图:

下面将要列出一些常用的事件。

  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事件。在窗体显示之前,可以用这个事件完成图昂提需要处理的任何事情。

  Note

  当一个窗体创建时,会产生很多事件,同样的,当一个窗体消失时,也会产生很多事件。但这些事件是按什么次序发生的呢?当窗体建立时,发生事件的次序入下:

当一个窗体消失时,发生事件的次序如下:

  在大部分情况下,直接保持这个次序不是很重要,但在有些情况下,它就变得至关重要。了解事件处理程序、构造程序和析构程序的调用次序是有好处的,起码当真正需要知道这个次序时,可以避免不必要的尝试。

原文链接:http://www.cnblogs.com/pchmonster/archive/2012/01/03/2311361.html

【编辑推荐】

  1. Jailer 3.6.2发布 强大的智能数据提取工具
  2. Web开发者必备的JavaScript单元测试工具
  3. Ruby开发者应该熟悉的10个工具
  4. 10款非常优秀的HTML 5开发工具推荐
  5. 9月10款非常有用的jQuery工具提示插件推荐
责任编辑:彭凡 来源: 博客园
相关推荐

2011-01-05 09:14:38

Delphi XE

2021-02-11 14:36:13

入侵防御系统

2009-08-28 15:58:54

C#窗体里调用

2009-08-13 10:42:31

C#窗体拖动事件

2009-09-07 04:19:56

C#窗体事件

2009-09-07 05:31:39

C#窗体关闭事件

2012-01-09 15:46:37

Delphi 7

2009-10-14 15:11:28

VB6.0实现多窗体交

2011-07-13 10:36:53

Delphi

2012-12-28 14:53:34

Android开发初始化窗体事件

2009-07-16 10:58:11

C#枚举

2010-09-15 10:20:03

2021-04-20 07:47:00

JCenter停止服务

2009-10-19 16:01:24

服务台事件管理

2009-09-07 04:59:12

C#模式窗体

2011-05-19 17:41:20

SenderSelf

2009-08-10 13:05:06

C# DLLC# Delphi开发

2011-12-22 11:22:31

2009-03-11 15:30:05

evalwithJavascript

2009-12-01 15:56:17

SUSE Linux
点赞
收藏

51CTO技术栈公众号