我的应用程序有一个主要表单,我在该表单上有一个按钮来关闭/退出应用程序。目前,它通过调用Windows来关闭句柄来编写:
SendMessage(Handle, WM_CLOSE, 0, 0);
但我想知道使用中的伤害是什么:
formName.Close;
这里的正确用法是什么?有没有理由使用SendMessage?
答案 0 :(得分: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-ish和更短的。