Dúvida com MessageDlg

Delphi

08/06/2012

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...
Vagner Almeida

Vagner Almeida

Curtidas 0

Respostas

Marco Salles

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);
GOSTEI 0
Marco Salles

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);
GOSTEI 0
Vagner Almeida

Vagner Almeida

08/06/2012

Obrigado
GOSTEI 0
Marco Salles

Marco Salles

08/06/2012

disponha
[]sds
GOSTEI 0
POSTAR