Dúvida com MessageDlg
Olá Pessoal!
Eu criei um procedimento para retornar mensagnes padronizadas e para isso utilizei o MessageDlg.
Em alguns casos eu preciso que o cursor fique posicionado no botão Não (No), pois o padrão é ficar posicionado no botão Sim (Yes).
Existe alguma forma ou outro tipo de caixa de mensagens que eu possa fazer isso?
Agradeço desde já qualquer ajuda...
Eu criei um procedimento para retornar mensagnes padronizadas e para isso utilizei o MessageDlg.
Em alguns casos eu preciso que o cursor fique posicionado no botão Não (No), pois o padrão é ficar posicionado no botão Sim (Yes).
Existe alguma forma ou outro tipo de caixa de mensagens que eu possa fazer isso?
Agradeço desde já qualquer ajuda...
Vagner Almeida
Curtidas 0
Respostas
Marco Salles
08/06/2012
Personalize a chamada a
function CreateMessageDialog(const Msg: string; DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons; DefaultButton: TMsgDlgBtn): TForm;
da uses dialogs
exemplo
unit uMensagemDlgPerson;
interface
function mensagemDlgYesTo(corpo: string): integer;
implementation
uses
Messages,Dialogs,forms , StdCtrls;
function mensagemDlgYesTo(corpo: string): integer;
var
mensagem:TForm;
begin
mensagem := CreateMessageDialog(corpo, mtConfirmation, [mbYes, mbNo],mbNo);
//caso queira mudar o caption dos buttoes
(mensagem.FindComponent(YES) as TButton).Caption := Sim;
(mensagem.FindComponent(NO) as TButton).Caption := Não;
result := mensagem.ShowModal;
end;
de uses a esta unidade e uses
if mensagemDlgYesTo(Mensagem) = Idyes then
showmessage(Blz!!)
else
showmessage(não funcionou);
function CreateMessageDialog(const Msg: string; DlgType: TMsgDlgType;
Buttons: TMsgDlgButtons; DefaultButton: TMsgDlgBtn): TForm;
da uses dialogs
exemplo
unit uMensagemDlgPerson;
interface
function mensagemDlgYesTo(corpo: string): integer;
implementation
uses
Messages,Dialogs,forms , StdCtrls;
function mensagemDlgYesTo(corpo: string): integer;
var
mensagem:TForm;
begin
mensagem := CreateMessageDialog(corpo, mtConfirmation, [mbYes, mbNo],mbNo);
//caso queira mudar o caption dos buttoes
(mensagem.FindComponent(YES) as TButton).Caption := Sim;
(mensagem.FindComponent(NO) as TButton).Caption := Não;
result := mensagem.ShowModal;
end;
de uses a esta unidade e uses
if mensagemDlgYesTo(Mensagem) = Idyes then
showmessage(Blz!!)
else
showmessage(não funcionou);
GOSTEI 0
Marco Salles
08/06/2012
Desculpe , esqueci da versão sobrecarregada de MessageDlg
A unidade que escrevi anteriormente serve caso voce queira persornalizar algumas opçoes no Form ou nos controles
Porém para dar foco ao Botão especifico , basta utilizar a sobrecarga
if MessageDlg(ola,mtConfirmation,[mbYes,mbNo],0,mbNo) = mrYes then
Showmessage(sim)
else
Showmessage(não);
A unidade que escrevi anteriormente serve caso voce queira persornalizar algumas opçoes no Form ou nos controles
Porém para dar foco ao Botão especifico , basta utilizar a sobrecarga
if MessageDlg(ola,mtConfirmation,[mbYes,mbNo],0,mbNo) = mrYes then
Showmessage(sim)
else
Showmessage(não);
GOSTEI 0
Vagner Almeida
08/06/2012
Obrigado
GOSTEI 0
Marco Salles
08/06/2012
disponha
[]sds
[]sds
GOSTEI 0