segunda-feira, 19 de setembro de 2016

DELPHI - Mensagem de dialogo no centro da aplicação - Dialog message center application

Estava procurando alguma caixa de dialogo que exibe no centro da minha aplicação. Não encontrei nenhuma com alguma propriedade nesse sentido.

Ao vasculhar pela Unit dos dialogos "Vcl.Dialogs", encontrei uma função interessante que cria a caixa de dialogo e retorna um TForm, e assim me foi permitido posicionar no centro do form PAI.

Função: CreateMessageDialog

Estou compartilhando aqui com vocês.

unit uCustomMessage;

interface

uses
  Vcl.Dialogs, Vcl.Forms, System.SysUtils;

const
  mbOK = [mbOK];

type
  TCustomMessage = class
  public
    class procedure ShowCustomDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons);
  end;

implementation

{ TFrmMessage }

class procedure TCustomMessage.ShowCustomDlg(const Msg: string;
  DlgType: TMsgDlgType; Buttons: TMsgDlgButtons);
var
  FCustomMessage :TForm;
begin
  FCustomMessage := CreateMessageDialog(Msg, DlgType, Buttons);
  try
    FCustomMessage.Position := poMainFormCenter;
    FCustomMessage.ShowModal;
  finally
    FreeAndNil(FCustomMessage);
  end;
end;
end.


Exemplo de uso:
 TCustomMessage.ShowCustomDlg('Sua mensagem aqui', mtError, mbOK);

ou
 TCustomMessage.ShowCustomDlg('Sua mensagem aqui', mtInformation, mbOK)

e etc.

Nenhum comentário:

Postar um comentário