C++ Builder2010窗体生命周期中的五种事件

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

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

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

双击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...");}

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

时间: 2024-11-19 11:51:04

C++ Builder2010窗体生命周期中的五种事件的相关文章

探究JavaScript中的五种事件处理程序

我们知道JavaScript与HTML之间的交互是通过事件实现的.事件最早是在IE3和Netscape Navigator 2中出现的,当时是作为分担服务器运算负载的一种手段. 通俗地理解,事件就是用户或浏览器自身执行的某种操作.而事件处理程序即为响应某个事件的函数.抽出主干,即事件处理程序为函数.  我们又把事件处理程序称为事件侦听器.  事件处理程序是以"on"开头的,因此对于事件on的时间处理程序即为onclick.时间处理程序在JavaScript中大致有五种,下面会根据这五种

软件开发生命周期中测试的使用情况

软件开发的生命周期主要包括以下的阶段: 1.问题定义. 2.可行性研究. 3.需求分析. 4.概要设计. 5.详细设计. 6.编码和单元测试. 7.综合测试. 8.软件维护 以上就是一个软件开发的完整生命周期,能比较明显的看出,到详细设计为止,之前的阶段很少涉及到测试的环节,从编码实现开始,测试就开始贯穿之后的阶段,编码实现中,用的最多的就是单元测试,编码人员或测试人员主要通过一些测试用例来检测编写的代码块是否实现了所需要的功能,但是单元测试中又分为黑盒测试和白盒测试,黑盒测试是不知道内部的详细

activity生命周期中方法解析

对于activity的生命周期我觉得是一个简单而又不简单的问题,很多人可能觉得自己已经很精通了!往往事实却不以为然! 要接着讨论下面的问题,先来简单了解一下activity,来看一段原文的说明,如下: An activity is a single, focused thing that the user can do.  Almost all activities interact with the user, so the Activity class takes care of creat

视图控制器生命周期中各个重要的方法(Swift) (Important Methods during the Lifecycle of a View Controller)

1. init(coder:) 它是视图控制器从故事板创建实例的默认初始化函数.(It is the initializer for UIViewController instances created from a storyboard.) 它在整个生命周期中只被调用1次. 2. init(nibName:bundle:) 它是视图控制器的指定初始化函数. (It is the designated initializer for UIViewController.) 当视图控制器的实例不是通

Java中的五种单例模式实现方法

[代码] Java中的五种单例模式实现方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 package s

制作由下向上的滚动字幕,字幕内容要求包含网站超级链接和图片超级链接, 使用鼠标移动事件控制字幕运动和停止。 2、在下拉列表框中设置五种以上颜色,选择颜色后, 滚动字幕背景色改变成相应颜色

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>    </head>    <!--        时间:2016-12-28        描述:1.制作由下向上的滚动字幕,字幕内容要求包含网站超级链接和图片超级链接,                   使用鼠标移动事件控制

数据库中的五种约束及其添加方法

数据库中的五种约束及其添加方法五大约束1.—-主键约束(Primay Key Coustraint) 唯一性,非空性 2.—-唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个 3.—-检查约束 (Check Counstraint) 对该列数据的范围.格式的限制(如:年龄.性别等) 4.—-默认约束 (Default Counstraint) 该数据的默认值 5.—-外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列五大

Oracle--数据库中的五种约束

数据库中的五种约束 数据库中的五种约束及其添加方法 五大约束 1.--主键约束(Primay Key Coustraint) 唯一性,非空性 2.--唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个 3.--检查约束 (Check Counstraint) 对该列数据的范围.格式的限制(如:年龄.性别等) 4.--默认约束 (Default Counstraint) 该数据的默认值 5.--外键约束 (Foreign Key Counstraint) 需要建立两表间

Redis中的五种数据结构

Strings: Lists: Sets: Hashes: Zsets: Redis中的五种数据结构