为什么窗体关闭按钮的单击事件中没有代码也可以关闭窗体

myselfwin 2018-07-14 12:29:29
当我单击一个空窗体的关闭按钮时,事件处理过程中没有添加代码怎么也可以关闭窗体
...全文
454 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
shw014 2018-07-26
  • 打赏
  • 举报
回复
TButton 控件 有个 ModalResult 属性 设置成 mrOk 或 mrCancel 等值窗口都会关闭
  • 打赏
  • 举报
回复
TForm.OnClose并非真正的窗体关闭按钮事件处理,这个只是用户代码,真正的事件处理是TCustomForm.WMClose,是WM_CLOSE的消息映射,在其内部调用了Close方法,Close内部调用了DoClose,DoClose内部检测了用户代码的OnClose是否赋值,如果有则调用。
doloopcn 2018-07-20
  • 打赏
  • 举报
回复
代码已经被DELPHI封装好了,所以只是我们看不到代码而已
xiaocongzhi 2018-07-20
  • 打赏
  • 举报
回复
关闭是对WM_CLOSE消息的处理WMClose--> DoClose中再调用你的自己写的代码OnClose(为空不执行),即使你OnClose为空,人家本来的WMClose-->DoClose照样执行的。
chenjun_0312 2018-07-19
  • 打赏
  • 举报
回复
你这个窗体是继承了父类的窗体吧?
ooolinux 2018-07-14
  • 打赏
  • 举报
回复
windows系统判断鼠标点击的位置是一个关闭按钮,会发送WM_CLOSE消息给应用程序,应用程序对该消息的默认处理就是关闭窗体。
ooolinux 2018-07-14
  • 打赏
  • 举报
回复
引用 1 楼 u010165006 的回复:
windows系统判断鼠标点击的位置是一个关闭按钮,会发送WM_CLOSE消息给应用程序,应用程序对该消息的默认处理就是关闭窗体。


项目.cpp文件的
Application->Run(); //C++ Builder代码
方法封装了windows的消息处理。
如果是win32 sdk程序,要自己写代码处理各个消息。
lyhoo163 2018-07-14
  • 打赏
  • 举报
回复
这是窗体的(VCL)代码,封闭了Windows的相关代码,执行Form的Close事件,也就会向系统发出相应的消息,系统就是关闭相关的窗体。

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧