Olá galera, nesta Quick Tips, irei mostrar uns exemplos de MenssageDLG, tornando nossas aplicações mais intuitivas e dinâmicas com nossos usuários.

 

O MenssageDLG é uma mensagem que é exibida no centro da janela aberta possui vários parâmetros o mesmos vão ser abordados mais abaixo. MenssageDLG é uma function que retorna um inteiro, este por sua vez é o botão que foi clicado na mensagem, encontrasse na unit Dialogs.

 

A estrutura do MenssageDLG

 

        function MessageDlg(const Msg: string;  DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Integer): Integer; overload;

 

 

Vamos a um exemplo prático, adicione :

1 RadioGroup . Adiciones estes itens :

·         mtWarning    

·         mtError      

·         mtInformation

·         mtConfirmation

·         mtCustom     

 

1 BitBtn

1 LabeledEdit

 




No exemplo você esta vendo um Memo, este é apenas informativo para sabermos os tipos de botões que temos no MenssageDLG, Veja abaixo os mesmos

 

  • mbYesNo = [mbYes, mbNo];
  • mbYesNoCancel = [mbYes, mbNo, mbCancel];
  • mbYesAllNoAllCancel = [mbYes, mbYesToAll, mbNo, mbNoToAll, mbCancel];
  • mbOKCancel = [mbOK, mbCancel];
  • mbAbortRetryIgnore = [mbAbort, mbRetry, mbIgnore];
  • mbAbortIgnore = [mbAbort, mbIgnore];

 

Clique do Botão “Traduzi Botões”

 

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

with CreateMessageDialog(EdtMensagem.Text, mtConfirmation, [mbYes, mbNo]) do

try

(FindComponent('Yes') as TButton).Caption := 'Sim';

(FindComponent('No') as TButton).Caption := 'Não';

ShowModal;

finally

Free;

end;

end;

 

Clique do RadioGroup “TMsgDlgType”

 

 

procedure TForm1.RadioGroup1Click(Sender: TObject);

begin

case RadioGroup1.ItemIndex of

0 : MessageDlg(EdtMensagem.Text, mtWarning , mbYesNoCancel, 0);

1 : MessageDlg(EdtMensagem.Text, mtError , mbYesAllNoAllCancel, 0);

2 : MessageDlg(EdtMensagem.Text, mtInformation , mbOKCancel, 0);

3 : MessageDlg(EdtMensagem.Text, mtConfirmation, mbAbortRetryIgnore, 0);

4 : MessageDlg(EdtMensagem.Text, mtCustom , mbAbortIgnore, 0,mbYes );

end;

end;

 

 

Observação : Podemos notar que temos um parâmetro a mais no 5 Item do RadioGroup, este seria o Botão default, para assim que a mensagem apareça o mesmo já fica selecionado, facilitando assim o trabalho do usuário, em só dar um Enter, ao invés de dar um Tab e depois um Enter para selecionar o botão desejado.

 

Fico por aqui ate à próxima Quick Tips

 

Um abraço

 

Wesley Y

wyamazack@rwsolution.com.br