Dúvida com messageBox - Delphi 7

Delphi

21/12/2017

Pessoal, preciso resolver o seguinte:

Criei um Message box com dois botões "yes" e "no" para exclusão no Banco de Dados assim:

begin
if application.MessageBox(''''Confirma a exclusão?'''',''''Confirmação'''',MB_yesno+MB_iconInformation) = id_no
then
exit;
(...)

Os dois botões funcionam muito bem: o "yes" exclui e o "não" fecha a janela e mantém tudo como estava. Porém, percebi que se ao invés de clicar em "yes" ou "no" , eu clicar no botão "x" de fechar a caixa de diálogo do message box, ele entende como pedido para seguir a exclusão, ou seja, funciona como o botão "yes".

alguém pode me ajudar?
PS: sou novata, se puderem explicar com calma eu agradeço muito.
Patricia Reis

Patricia Reis

Curtidas 0

Melhor post

Wesley Yamazack

Wesley Yamazack

22/12/2017

Opa galera, excelente essa dúvida :)

A resposta do Natanael resolve perfeitamente, eu só fiz um pequeno ajuste para deixar a rotina qnd clicar no yes mais clara.

procedure TForm1.Button1Click(Sender: TObject);
begin
  case application.MessageBox('Confirma a exclusão?', 'Confirmação', MB_yesno + MB_iconInformation) of
    mrNo, mrCancel: ShowMessage('clicou no ou fechou a caixa de dialogo');
    mrYes: ShowMessage('remover dados do banco')
  end;
end;


Grande abraço e bons códigos galera :)
GOSTEI 3

Mais Respostas

Tiago

Tiago

21/12/2017

Deixo o "id_no" sem nenhuma programação. Deve resolver
GOSTEI 1
Natanael Ferreira

Natanael Ferreira

21/12/2017

Quando se clica no 'x' o resultado é o mrCancel.

Altere seu código para:

case application.MessageBox('Confirma a exclusão?', 'Confirmação',
    MB_yesno + MB_iconInformation) of
    mrNo, mrCancel:
      exit;
  end;
GOSTEI 1
Patricia Reis

Patricia Reis

21/12/2017

Perfeito, Natanael. Deu certinho. Mt obrigada.
GOSTEI 0
Patricia Reis

Patricia Reis

21/12/2017

Ótima dica, Wesley. Mt obrigada.
GOSTEI 0
POSTAR