读书人

新手求解呀解决方法

发布时间: 2013-01-27 13:56:17 作者: rapoo

新手,求解呀
调用formcloseQuery,不能关闭窗口呀,应该怎么写
我的代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
canclose: boolean;
begin
canclose := true;
formcloseQuery(self,canclose);
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
case messagebox(0,'改变,关闭么','提示',MB_OKCANCEL) of
2: canclose := false;
end;
end;
[解决办法]
直接self.close就行了,调用close时自然会触发onclosequery事件,费那么大劲干嘛。。
[解决办法]
procedure TForm1.Button1Click(Sender: TObject);
begin
self.Close;
end;

[解决办法]
不关闭肯定是2: canclose := false;得到满足了
if messagebox(0,'改变,关闭么','提示',MB_OKCANCEL) =mrOK then
xxxx

[解决办法]
formcloseQuery是关闭时自动调用的判断、善后处理
关闭还是form1.close
[解决办法]
你还是没有明白我们的意思。。你在button的onclick用form.close,那么closequery的代码自然得到了执行!它会弹出一个对话框问你是否关闭,只有满足条件才关,不是说调用close就一定得关闭!
[解决办法]
closequery中canclose为true就关了呀,等于false的时候就不会关闭,你传参数true进去也没用,closequery都被你修改了,canclose已经为false还怎么关闭?!
[解决办法]
procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
canclose:=messagebox(0,'改变,关闭么','提示',MB_OKCANCEL)=1;
end;

读书人网 >.NET

热点推荐