Mensagem com ~coptions do botões personalizados

Delphi

02/05/2005

Bom dia,
Preciso de umamensagem na tela com coptions dos botões definidos por mim. O drama é o seguinte: Não quero precisar criar um formulário para isso, gostaria de usar MessageBox ou MessageDlgou outro qualquer. Os botões já são definidos pelo Delphi ou pelo SO, gostaria de saber se tem como fazer este tipo de operação? Trocar os captions dos botões do MessageBox ou MessageDlg?


Seu_madruga

Seu_madruga

Curtidas 0

Respostas

Fernando

Fernando

02/05/2005

function Mens_Prov_Dup: String;
var
I:integer;
F:TForm;
begin
F:= CreateMessageDialog(´Deseja Gerar Provisão de Compra ou Títulos a Pagar ?´,
mtconfirmation,[mbyes,mbno]);
try
for i:=0 to F.ComponentCount -1 do
if F.Components[i] is TButton then
with TButton(F.Components[i]) do
case modalresult of
mryes : begin
width := 200;
Left := 80;
Top := 40;
caption := ´&Provisionar Compra´;
end;
mrno : begin
width := 200;
Left := 80;
Top := 70;
caption := ´&Gerar Títulos´;
end;

end;

F.Caption := ´Atenção!!!´;

{É possível, também, alteraro caption da janela}
F.Showmodal;

if F.ModalResult = IdYes then
Result:=´P´;

if F.ModalResult = IdNo then
Result:=´T´;

finally
F.free;
end;
end;


dai vc usa da seguinte forma

case StrToInt(Mens_Prov_Dup) of
1 : begin
Tipo := 1; // sem nota
end;
2 : begin
Tipo := 2; // c/ nota
end;
end;


e assim por diante


GOSTEI 0
Seu_madruga

Seu_madruga

02/05/2005

Blz, valew!
Mas será que tem como alterar o caption do botão do MessageBox? Sem precisar criar um novo?


GOSTEI 0
Rômulo Barros

Rômulo Barros

02/05/2005

a Function MessageBox está em um Dll.
Acredito que os captions dos botoões estejam amarrados no código do programa, não sendo possível, assim, alterá-los.

function MessageBox; external user32 name ´MessageBoxA´;



GOSTEI 0
POSTAR