Dúvida com messageBox - Delphi 7

21/12/2017

0

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

Responder

Post mais votado

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 :)

Wesley Yamazack

Wesley Yamazack
Responder

Mais Posts

21/12/2017

Tiago

Deixo o "id_no" sem nenhuma programação. Deve resolver
Responder

21/12/2017

Natanael Ferreira

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;
Responder

22/12/2017

Patricia Reis

Perfeito, Natanael. Deu certinho. Mt obrigada.
Responder

22/12/2017

Patricia Reis

Ótima dica, Wesley. Mt obrigada.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar