我怎样切取在任务栏单击右键时关闭程序的消息?(50分)

  • 主题发起人 主题发起人 zulu
  • 开始时间 开始时间
Z

zulu

Unregistered / Unconfirmed
GUEST, unregistred user!
我用WM_CLOSE不能切取,这样在退出软件时无法保存文件。
谢谢
 
不明白,我试了一下,可以啊,在OnClose事件中写就可以。我在OnClose中写了ShowMessage,在任务栏上右键关闭时ShowMessage是可以的。
 
但是你这样做的化有个大问题就是:如果我在这里加一个是否退出的选项提示,无论你是或否都会退出程序。我用WM_CLOSE的目的就是让程序自己来定义退出程序。
 
用onCloseQuery事件:
procedure TfrmMain.FormCloseQuery(Sender: TObject
var CanClose: Boolean);
var
rt: longint;
begin
rt:= MessageBox(Self.Handle, PChar('Close?'), PChar('CloseQuery'), MB_OKCANCEL);
if rt = IDCANCEL then
CanClose:= False
else
CanClose:= True;
end;
 
其实他发的消息是:WM_SYSCOMMAND.
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
573
import
I
后退
顶部