MessageDlg/MessageBox
Olá pessoal,
preciso saber de como fazer com que o MessageDlg, fique com outro botão selecionado como padrão ao invez do yes.
E preciso saber como Usar o MessageBox, alguem pode me dar um exemplos?
Obrigado!
preciso saber de como fazer com que o MessageDlg, fique com outro botão selecionado como padrão ao invez do yes.
E preciso saber como Usar o MessageBox, alguem pode me dar um exemplos?
Obrigado!
Leao
Curtidas 0
Respostas
E_gama
17/03/2003
Segue um exemplo:
Alguns flags:
Icones:
---------
MB_ICONQUESTION = Sinal de interrogaçao
MB_ICONEXCLAMATION = Sinal de exclamacao
MB_ICONWARNING = Sinal de advertencia
MB_ICONERROR = Erro
Botoes:
--------
MB_YES = Sim
MB_NO = Nao
MB_CANCEL = Cancelar
MB_YESNO = Sim e Nao
MB_YESNOCANCEL = Sim, Nao e Cancelar
Botao padrao:
----------------
MB_DEFBUTTON1 = primeiro botao
MB_DEFBUTTON2 = segundo botao
MB_DEFBUTTON3 = terceiro botao
voce pode fazer a combinacao deles todos ´somando´ seus valores como no exemplo acima.
if MessageBox(Handle, ´AQUI VAI A MENSAGEM´, ´AQUI VAI O TITULO´, MB_ICONQUESTION + MB_YESNOCANCEL + MB_DEFBUTTON2) = ID_YES then ShowMessage(´Clicou no botão OK !´);
Alguns flags:
Icones:
---------
MB_ICONQUESTION = Sinal de interrogaçao
MB_ICONEXCLAMATION = Sinal de exclamacao
MB_ICONWARNING = Sinal de advertencia
MB_ICONERROR = Erro
Botoes:
--------
MB_YES = Sim
MB_NO = Nao
MB_CANCEL = Cancelar
MB_YESNO = Sim e Nao
MB_YESNOCANCEL = Sim, Nao e Cancelar
Botao padrao:
----------------
MB_DEFBUTTON1 = primeiro botao
MB_DEFBUTTON2 = segundo botao
MB_DEFBUTTON3 = terceiro botao
voce pode fazer a combinacao deles todos ´somando´ seus valores como no exemplo acima.
GOSTEI 0
Anonymous
17/03/2003
vc tb pode usar o Application.MessageBox assim:
if Application.MessageBox(´Mensagem´,´Titulo´,mb_iconquestion + mb_yesnocancel + mb_defbutton1) = id_yes then faça algo;
mb_defbutton1 = botão yes
mb_defbutton2 = botão no
mb_defbutton3 = botão cancel
t+
if Application.MessageBox(´Mensagem´,´Titulo´,mb_iconquestion + mb_yesnocancel + mb_defbutton1) = id_yes then faça algo;
mb_defbutton1 = botão yes
mb_defbutton2 = botão no
mb_defbutton3 = botão cancel
t+
GOSTEI 0
Leao
17/03/2003
ai pessoal agradeco pela forca, quanto ao MessageBox tudo bem, mas e quanto ao MessageDgl?
GOSTEI 0
Adilsond
17/03/2003
Varias maneiras para o MessageDlg.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
with CreateMessageDialog(´Teste´,mtInformation,[mbYes,mbNo]) do
try
Caption := ´????´;
ActiveControl := TButton(Components[3]);
//TImage(Components[0]).Picture.Icon.LoadFromFile(´C:\...\Technlgy.ico´);
TButton(Components[2]).Caption := ´Sim´;
TButton(Components[3]).Caption := ´Não´;
if ShowModal = mrYes then
ShowMessage(´OK´);
finally
Free;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
AMsgDialog: TForm;
ACheckBox: TCheckBox;
begin
AMsgDialog := CreateMessageDialog(´This is a test message.´, mtWarning,
[mbYes, mbNo]);
ACheckBox := TCheckBox.Create(AMsgDialog);
with AMsgDialog do
try
Caption := ´Dialog Title´ ;
Height := 169;
with ACheckBox do
begin
Parent := AMsgDialog;
Caption := ´Don´´t show me again.´;
Top := 121;
Left := 8;
end;
if (ShowModal = ID_YES) then
begin
if ACheckBox.Checked then
begin
//...
end;
//... some additional processing
end;
finally
ACheckBox.Free;
Free;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
keybd_event(VK_TAB,0,0,0);
if MessageDlg(´Teste´,mtInformation,[mbYes,mbNo],0) = mrYes then
ShowMessage(´OK´);
end;
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
with CreateMessageDialog(´Teste´,mtInformation,[mbYes,mbNo]) do
try
Caption := ´????´;
ActiveControl := TButton(Components[3]);
//TImage(Components[0]).Picture.Icon.LoadFromFile(´C:\...\Technlgy.ico´);
TButton(Components[2]).Caption := ´Sim´;
TButton(Components[3]).Caption := ´Não´;
if ShowModal = mrYes then
ShowMessage(´OK´);
finally
Free;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
AMsgDialog: TForm;
ACheckBox: TCheckBox;
begin
AMsgDialog := CreateMessageDialog(´This is a test message.´, mtWarning,
[mbYes, mbNo]);
ACheckBox := TCheckBox.Create(AMsgDialog);
with AMsgDialog do
try
Caption := ´Dialog Title´ ;
Height := 169;
with ACheckBox do
begin
Parent := AMsgDialog;
Caption := ´Don´´t show me again.´;
Top := 121;
Left := 8;
end;
if (ShowModal = ID_YES) then
begin
if ACheckBox.Checked then
begin
//...
end;
//... some additional processing
end;
finally
ACheckBox.Free;
Free;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
keybd_event(VK_TAB,0,0,0);
if MessageDlg(´Teste´,mtInformation,[mbYes,mbNo],0) = mrYes then
ShowMessage(´OK´);
end;
end.
GOSTEI 0
Leao
17/03/2003
Ai pessoal muito obrigado pela ajuda de voces.
GOSTEI 0