Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的应用程序有一个主表单,我在该表单上有一个按钮来关闭/退出应用程序。目前它是通过调用 Windows 来关闭句柄的:
SendMessage(Handle, WM_CLOSE, 0, 0);
但我想知道使用有什么害处:
formName.Close;
这里的正确用法是什么?有什么理由使用 SendMessage 吗?
他们做同样的事情。事实上,在Forms.pas你发现
Forms.pas
procedure WMClose(var Message: TWMClose); message WM_CLOSE; ... implementation ... procedure TCustomForm.WMClose(var Message: TWMClose); begin Close; end;
显示该WM_CLOSE消息仅转换为Self.Close.
WM_CLOSE
Self.Close
一般来说,如果可以的话,你应该使用Close它,因为它更像 Delphi 并且更短。
Close