FormCloseQuery是一个事件回调函数,Close是一个功能函数。而FormCloseQuery与窗口的close有什么不同,通过跟踪Call stack发生在调用Close()函数关闭窗口时,会调用到FormCloseQuery中。由分析我的理解是这样的,Close()函数的调用会去关闭窗口,而在关闭窗口时,产生了关闭窗口的事件,事件的触发引发了FormCloseQuery函数的调用.

FormCloseQuery事件中可以做判断 符合一定条件则CanClose := True;(表示可以关闭窗口,执行close函数,关闭窗口)否则 CanClose := false(窗口不关闭)。

Close -> 触发CloseQuery事件 -> 触发OnClose事件 -> 窗体关闭

FormCloseQuery的更多相关文章

  1. 阻止关闭窗口,FormCloseQuery

    procedure TfrmTopJdsMain.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin ) = mrNo then ...

  2. TThread.CreateAnonymousThread() 匿名线程对象的应用

    unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System ...

  3. Delphi Dll 消息处理

    转载:http://blog.csdn.net/lailai186/article/details/8770643 事情的导火线是GIF图片的显示. 在应用程序中, 利用三方的GIFImage.pas ...

  4. delphi XE5下安卓开发技巧

    delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手 ...

  5. delphi关闭程序Close,application.Terminate与halt区别

    当Close是一个主窗体时,程序会退出.Close会发生FormClose事件,FormCloseQuery事件Halt会发生FormDestory事件,Application.Terminate以上 ...

  6. RM报表 刷新打印机列表

    procedure TRMReport.ShowPreparedReport; var s: string; lPreviewForm: TRMPreviewForm; begin RMCurRepo ...

  7. Delphi Form的释放和隐藏:free,hide,close

    form.Free   -   释放Form占用的所有资源.Free后,Form指针不能再使用,除非对Form重新赋值.   form.Hide   -   隐藏Form.可以调用form.Show再 ...

  8. 在Delphi中实现动画窗口

    Windows下有一个函数AnimateWindow,在Delphi自带的Win32 API Help中是找不到的.你可以在Delphi的编辑器中输入windows.等待代码向导出来,继续输入Anim ...

  9. 用Delphi创建服务程序

    用Delphi创建服务程序 日期:2005年11月29日 作者:sunmohe 人气: 3154 查看:[大字体 中字体 小字体] Windows 2000/XP和2003等支持一种叫做"服 ...

随机推荐

  1. python对目录下的文件进行 多条件排序

    在进入正题之前,先介绍一下基础知识: 1.sort(),方法:就是对列表内容进行正向排序,直接在原列表进行修改,返回的是修改后的列表 lists =[1, 5, 10, 8, 6]lists.sort ...

  2. Python-函数练习题1

    # coding=utf-8 '''定义一个方法get_num(num),num参数是列表类型,判断列表里面的元素为数字类型.其他类型则报错, 并且返回一个偶数列表:(注:列表里面的元素为偶数).'' ...

  3. nltk 获取 gutenberg 语料,gensim 生成词库和 onehot 编码

    nltk 获取 gutenberg 语料 gensim 生成词库和 onehot 编码 正在尝试基于 Tensorflow LSTM 模型开发另外一个项目,需要自然语言处理的工具和语料. import ...

  4. 使用TensorFlow v2张量的一个简单的“hello world”示例

    使用TensorFlow v2张量的一个简单的"hello world"示例 import tensorflow as tf # 创建一个张量 hello = tf.constan ...

  5. ICML 2019论文录取Top100:谷歌霸榜

    [导读]人工智能顶级会议ICML 2019发布了今年论文录取结果.提交的3424篇论文中,录取了774篇,录取率为22.6%,较去年有所降低.从录取论文数量来看,谷歌成为今年最大赢家,紧随其后的是MI ...

  6. ——JAVA基础部分

    1. 我们能不能声明main()方法为非静态?√ 不能,main()方法必须声明为静态的,这样JVM才可以调用main()方法而无需实例化它的类. 如果从main()方法去掉“static”这个声明, ...

  7. Thread Future模式

    多线程不管是extends Thread 还是 implements Runnable 都是要重写run 方法来实现,这两种方式子线程都没有返回值. 如果要实现主线程对子线程的监听,让子线程有返回值, ...

  8. vue-父组件传递参数到子组件

    案例: 父组件 <template> <div id="app"> <h1>vuex</h1> <h3>count:{{ ...

  9. STL之vector常用函数笔记

    STL之vector常用函数笔记 学会一些常用的vector就足够去刷acm的题了 ps:for(auto x:b) cout<<x<<" ";是基于范围的 ...

  10. SpringBoot系列之RabbitMQ使用实用教程

    SpringBoot系列之RabbitMQ使用实用教程 @ 目录 1. 消息队列概述 1.1 MQ的概述 1.2 MQ目的地形式 2. 消息队列实现方式 2.1 常见MQ框架 2.2 MQ实现方式 3 ...