Código
Envio a vocês uma rotina que uso em todos os sistemas que desenvolvo, pois facilita o envio de mensagens e também dá apossibilidade de personalizar melhor do que o "Application.Messagebox"
Esta rotina gera uma janela de diálogo de mensagem, a qual pode
ser configurada através da definição do tipo de mensagem que será
mostrada com o texto escrito, através da passagem dos seguintes
Parâmetros:
Txt: É a mensagem que será mostrada no pop-up.
Tipo: Define o tipo de mensagem, que também definirá o ícone que será mostrado no pop-up e, caso escolha a mensagem de confirmação, faz o tratamento para saber se o usuário clicou em sim ou em não. Os tipos são os seguintes:
'I'-> Mensagem Informativa, com botão de OK e ícone de informação.
'W'-> Mensagem de Alerta, com botão de OK e ícone de alerta.
'E'-> Mensagem de Erro, com botão de Fechar e ícone de informação.
'C'-> Mensagem Interrogativa, com botões Sim e Não para confirmação
Retorna True se for clicado 'Sim' e False de for clicado 'Não'.
}
Function Mensagem(Txt, Tipo:String): Boolean;
var
i: integer;
Form: TForm;
Retorno : Boolean;
begin
Retorno := True;
if Tipo = 'W' then
begin
Form:= CreateMessageDialog(Txt, mtWarning ,[mbOK]);
for i:=0 to Form.ComponentCount -1 do
if Form.Components[i] is TButtonActionLink then
with TButton(Form.Components[i]) do
case ModalResult of
mrOk: Caption := 'Fechar';
end;
Form.Caption := 'Mensagem de Advertência';
end
else
if tipo = 'E' then
begin
Form:= CreateMessageDialog(Txt, mtError ,[mbOK]);
for i:=0 to Form.ComponentCount -1 do
if Form.Components[i] is TButton then
with TButton(Form.Components[i]) do
case ModalResult of
mrOK: Caption := 'Fechar';
end;
Form.Caption := 'Mensagem de Erro';
end
else
if tipo = 'I' then
begin
Form:= CreateMessageDialog(Txt, mtInformation ,[mbOK]);
for i:=0 to Form.ComponentCount -1 do
if Form.Components[i] is TButton then
with TButton(Form.Components[i]) do
case ModalResult of
mrOK: Caption := 'Fechar';
end;
Form.Caption := 'Mensagem Informativa';
end
else
if tipo = 'C' then
begin
Form:= CreateMessageDialog(Txt, mtConfirmation,[mbYes,mbNo]);
for i:=0 to Form.ComponentCount -1 do
if Form.Components[i] is TButton then
with TButton(Form.Components[i]) do
case ModalResult of
mrYes: Caption := 'Sim';
mrNo: Caption := 'Não';
end;
Form.Caption := 'Mensagem de Confirmação';
end
else // sem parametro de tipo
begin
Form:= CreateMessageDialog(Txt, mtCustom,[mbIgnore]);
for i:=0 to Form.ComponentCount -1 do
if Form.Components[i] is TButton then
with TButton(Form.Components[i]) do
case ModalResult of
mrIgnore: Caption := 'Ignorar';
end;
Form.Caption := 'Mensagem sem definição de tipo';
end;
Form.ShowModal;
if Form.ModalResult = mrNo then
Retorno := False;
Result := Retorno;
Form.Free;
end;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009