Fórum Click no Botão Fechar (X) do Form #329903
22/09/2006
0
Como faço para saber se a pessoa [color=blue:de92124443]CLICOU[/color:de92124443] no Botão Fechar (X) do form?
Desde já agradeço
Susana Cardoso
Susi
Curtir tópico
+ 0Post mais votado
22/09/2006
procedure WM_Sys(var Msg:TMessage); message WM_SysCommand;
procedure TForm1.WM_Sys(var Msg:TMessage); begin if (Msg.WParam = SC_Close) and (Msg.LParam <> 0) then begin // Clicou no ´X´ inherited; // Retire esta linha se não quiser fechar o Form end else inherited; end;
Siam
Gostei + 1
Mais Posts
22/09/2006
Rjun
Gostei + 0
22/09/2006
Susi
Realmente, posso fazer no OnCloseQUery, só que ali, mesmo que eu tecle ALT+F4 ele também vai fazer... e eu gostaria que só fizesse quando clicasse no Botão...
Mas agradeço sua ajuda...
Um abraço
Susana Cardoso
Gostei + 0
22/09/2006
Siam
Se WParam = SC_Close e LParam <> 0; então foi clicado o X do Form.
Gostei + 0
22/09/2006
Susi
Olá Siam,
Não consegui entender muito bem ... coloquei a procedure, mas dá erro nos parametros.... poderia me explicar melhor?
Fico muito grata
Susana
Gostei + 0
22/09/2006
Susi
Obrigada...Funcionou perfeitamente...
Um abraço
Susana Cardoso
Gostei + 0
23/09/2006
Output
Tipow eu tava xamando o procedimneto no evento OnClose do form....
?
Gostei + 0
23/09/2006
Siam
Gostei + 0
23/09/2006
Output
procedure TForm1.WM_Sys(var Msg:TMessage); begin if (Msg.WParam = SC_Close) and (Msg.LParam <> 0) then begin // Clicou no ´X´ inherited; // Retire esta linha se não quiser fechar o Form end else inherited; end;
O procedimento acima,,, eu tava xamando ele no evento onClose do form,,
mah tm q passa um parametro,,, me da um exemplo?
Gostei + 0
25/09/2006
Susi
Você não precisa chamar ele no Evento OnClose do Form...
É só colocar a procedure na unit do form que vc quer.... e pronto ele faz sozinho... não precisa passar parametros....
Um abraço...
Susana
Gostei + 1
25/09/2006
Output
Eu fiz como vc disse,,,e tb retirei a linha inherited,,, pra c o kra clikar no x pra fechar ,, naum fexe,, somente feche c ele clikar no botao fechar....
procedure TForm1.WM_Sys(var Msg:TMessage); begin if (Msg.WParam = SC_Close) and (Msg.LParam <> 0) then begin // Clicou no ´X´ RETIREI A LINHA Q ESTAVA AKI // Retire esta linha se não quiser fechar o Form end else inherited; end;
Gostei + 0
25/09/2006
Siam
Gostei + 0
25/09/2006
Output
Gostei + 0
25/09/2006
Siam
Gostei + 0
25/09/2006
Output
procedure TForm1.WM_Sys(var Msg:TMessage); begin if (Msg.WParam = SC_Close) and (Msg.LParam <> 0) then begin end else inherited; end;
Gostei + 0
25/09/2006
Siam
Poste a declaração de WM_Sys em TForm1.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)