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