4

我的应用程序有一个主表单,我在该表单上有一个按钮来关闭/退出应用程序。目前它是通过调用 Windows 来关闭句柄的:

SendMessage(Handle, WM_CLOSE, 0, 0);

但我想知道使用有什么害处:

formName.Close;

这里的正确用法是什么?有什么理由使用 SendMessage 吗?

4

1 回答 1

11

他们做同样的事情。事实上,在Forms.pas你发现

procedure WMClose(var Message: TWMClose); message WM_CLOSE;

...

implementation

...

procedure TCustomForm.WMClose(var Message: TWMClose);
begin
  Close;
end;

显示该WM_CLOSE消息仅转换为Self.Close.

一般来说,如果可以的话,你应该使用Close它,因为它更像 Delphi 并且更短。

于 2013-02-12T16:18:12.640 回答