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