Botão fechar do form
Galera tenho o botão do menu chamado Sair, só que quero colocar o mesmo código quando o usuário for fechar pelo X do form. O código é esse
Coloquei esse código no evento onclosequery do form em questão só que ele fica ao contrario se clico em Sim a pergunta é repetida e se clico em não daí o form é fechado.
Que faço?
Já testei nos eventos OnCloseQuery e OnClose, e deu a mesma coisa.
begin if Application.MessageBox(´Deseja fechar aplicação?´, ´Aviso´, MB_YESNO+MB_ICONQUESTION) = mrYes then begin close; end;
Coloquei esse código no evento onclosequery do form em questão só que ele fica ao contrario se clico em Sim a pergunta é repetida e se clico em não daí o form é fechado.
Que faço?
Já testei nos eventos OnCloseQuery e OnClose, e deu a mesma coisa.
Jpauloss
Curtidas 0
Respostas
Catunda
17/02/2008
Basta colocar seu código no evento onclose do form.
Tambem não teste se for igual a mrYes e sim se for diferente de mrYes ai vc dá um Abort.
begin
if Application.MessageBox(´Deseja fechar aplicação?´, ´Aviso´, MB_YESNO+MB_ICONQUESTION) <> mrYes then
begin
Abort;
end;
Desta forma, não importa qual a maneira que será utilizada para fechar o form, ele sempre vai perguntar.
Tambem não teste se for igual a mrYes e sim se for diferente de mrYes ai vc dá um Abort.
begin
if Application.MessageBox(´Deseja fechar aplicação?´, ´Aviso´, MB_YESNO+MB_ICONQUESTION) <> mrYes then
begin
Abort;
end;
Desta forma, não importa qual a maneira que será utilizada para fechar o form, ele sempre vai perguntar.
GOSTEI 0
Paullsoftware
17/02/2008
Olá amigo, acho que o tratamento do botão que você fez foi incorreta para o tipo de mensagem... tenta assim:
é como eu faço na maioria das vezes e sempre funciona...
do jeito que você tava tratanto seria para o MessageDlg
espero ter ajudado :wink:
CanClose := False; if MessageBox(Handle,´Deseja realmente sair da aplicação?´,pChar(Application.Title),MB_ICONQUESTION+MB_YESNO)=IDYES then CanClose := True;
do jeito que você tava tratanto seria para o MessageDlg
CanClose := False; if MessageDlg(´Deseja realmente sair da aplicação?´,mtConfirmation,[mbYes,mbNo],0)=mrYes then CanClose := True;
GOSTEI 0