当我单击一个空窗体的关闭按钮时,事件处理过程中没有添加代码怎么也可以关闭窗体

解决方案 »

  1.   

    windows系统判断鼠标点击的位置是一个关闭按钮,会发送WM_CLOSE消息给应用程序,应用程序对该消息的默认处理就是关闭窗体。
      

  2.   

    这是窗体的(VCL)代码,封闭了Windows的相关代码,执行Form的Close事件,也就会向系统发出相应的消息,系统就是关闭相关的窗体。
      

  3.   


    项目.cpp文件的
    Application->Run(); //C++ Builder代码
    方法封装了windows的消息处理。
    如果是win32 sdk程序,要自己写代码处理各个消息。
      

  4.   

    代码已经被DELPHI封装好了,所以只是我们看不到代码而已
      

  5.   

    TForm.OnClose并非真正的窗体关闭按钮事件处理,这个只是用户代码,真正的事件处理是TCustomForm.WMClose,是WM_CLOSE的消息映射,在其内部调用了Close方法,Close内部调用了DoClose,DoClose内部检测了用户代码的OnClose是否赋值,如果有则调用。
      

  6.   

    关闭是对WM_CLOSE消息的处理WMClose--> DoClose中再调用你的自己写的代码OnClose(为空不执行),即使你OnClose为空,人家本来的WMClose-->DoClose照样执行的。
      

  7.   

    TButton 控件 有个 ModalResult 属性 设置成 mrOk 或  mrCancel 等值窗口都会关闭