Caixas de Diálogo

Olá!

Muitas vezes necessitamos fazer uso de caixas de diálogo padrões em nosso sistema!

neste artigo estarei usando exemplos de uma aplicação que necessita de confirmação para exclusão de registros de uma tabela.

Para usar a janela de confirmação podemos fazer da função MessageBox.

existem varias formas para criarmos caixas de mensagens, mas o sistema ja possui essas mensagens prontas e somente necessitamos fazer as chamadas para essas mensagens.

a função messagebox é usanda em conjuto com a palavra “Application”

sua sintaxe é:
function MessageBox(const Text: PChar; const Caption: PChar; Flags: Longint = MB_OK): Integer;
onde:

  • Text: Informar o texto que será exibido dentro da caixa de diálogo.
  • Caption: Recebe o texto que será exibido na barra de título.
  • Flags: informar aqui os botões e ícones que serão exibido na caixa.
Valores para usar
Descrição
MB_ABORTRETRYIGNORE
A mensagen conterá os botões: Abort, Retry, and Ignore.
MB_OK
A mensagen conterá os botões: OK. This is the default.
MB_OKCANCEL
A mensagen conterá os botões: OK and Cancel.
MB_RETRYCANCEL
A mensagen conterá os botões: Retry and Cancel.
MB_YESNO
A mensagen conterá os botões: Yes and No.
MB_YESNOCANCEL
A mensagen conterá os botões: Yes, No, and Cancel.
A função retornará:
valor
Valor Numérico

Será retornado quando o usuário clicar em:

DOK
1
OK.
IDCANCEL
2
Cancel.
IDABORT
3
Abort.
IDRETRY
4
Retry.
IDIGNORE
5
Ignore.
IDYES
6
Yes.
IDNO
7
No.
Exemplo de uso da função:

procedure TFrmMain.BtnRemoverClick(Sender: TObject);begin
  //Antes de tentar excluir verifica se a tabela não está vazia!
  if ADODataSet1.RecordCount=0 then
  begin
    ShowMessage('A tabela está vazia');
  end else
  begin
    //Se o usuário clicar no botão sim será executado o código di if!
    if Application.MessageBox('Deseja Remover este registro?', 'Aviso',MB_YESNO )= IDYES then
      ADODataSet1.Delete;
  end;
end;

Até a próxima!

Fonte:http://docs.codegear.com/docs/radstudio/radstudio2007/RS2007_helpupdates/HUpdate4/EN/html/delphivclwin32/Forms_TApplication_MessageBox.html

2 ideias sobre “Caixas de Diálogo

    1. soprogramando Autor do post

      O Application.MessageBox é uma chamada a uma API do windows e recebe apenas algum valores como parâmetros de configuração:

      Application.MessageBox, esta função está definida da seguinte maneira:

      function MessageBox(const Text, Caption: PChar; Flags: Longint): Integer;
      Onde:
      const Text
      É uma constante string ou propriedade deste tipo.
      Caption: PChar
      Define uma string para o título da janela.
      Flags
      Define os botões, ícones e a possibilidade de focar um determinado botão.
      Os valores para botões são:
      MB_ABORTRETRYIGNORE,
      MB_OK,
      MB_OKCANCEL,
      MB_RETRYCANCEL,
      MB_YESNO,
      MB_YESNOCANCEL
      Os valores para os ícones são:
      MB_ICONEXCLAMATION,
      MB_ICONWARNING,
      MB_ICONINFORMATION,
      MB_ICONASTERISK,
      MB_ICONQUESTION,
      MB_ICONSTOP,
      MB_ICONERROR,
      MB_ICONHAND
      Os valores para a definição do botão default pode ser:
      MB_DEFBUTTON1,
      MB_DEFBUTTON2,
      MB_DEFBUTTON3,
      MB_DEFBUTTON4
      O retorno da função é o tipo do botão como id
      (IDABORT IDCANCEL IDIGNORE IDNO IDOK IDRETRY IDYES)
      Desta maneira pode-se fazer testes lógicos como no exemplo:

      if Application.MessageBox(‘Texto’,’Título’,MB_YESNOCANCEL + MB_ICONINFORMATION + MB_DEFBUTTON2) = IdYes then
      showmessage(‘voce cliclou em sim’);

      Mas se desejar uma caixa de diálogo mais elaborada, recomendo o uso da criação de uma classe com seus próprios métodos e mensagens personalizadas, lembre que podemos criar nossas próprias classes, objetos;

      Resposta

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s