Código
Função para substituir a MessageDlg da unit Dialogs, usando a
linguagem corrente no windows, sem ter que traduzir e recompilar
as units do Delphi.
Esta função utiliza a api MessageBox, retornando os mesmos valores
que a MessageDlg (mrOk, mrCancel, mrYes, etc.)
}
unit MsgDlg;
interface
uses Dialogs;
type
TGFMsgDlgButtons =
(GF_AbortRetryIgnore, GF_Ok, GF_OkCancel, GF_RetryCancel,
GF_YesNo, GF_YesNoCancel);
TGFDefaultButton = (GF_Default1, GF_Default2, GF_Default3, GF_Default4);
function GFMessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TGFMsgDlgButtons; DefaultButton: TGFDefaultButton = GF_Default1): Word;
implementation
uses Windows;
const
Caption : Array [TMsgDlgType] of String =
('Aviso','Erro','Informação','Questão','');
function GFMessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TGFMsgDlgButtons; DefaultButton: TGFDefaultButton = GF_Default1): Word;
var
uType : integer;
begin
case DlgType of
mtWarning : uType:=MB_ICONWARNING;
mtError : uType:=MB_ICONERROR;
mtInformation : uType:=MB_ICONINFORMATION;
mtConfirmation : uType:=MB_ICONQUESTION;
mtCustom : uType:=0;
end;
case Buttons of
GF_AbortRetryIgnore : uType:=uType+MB_ABORTRETRYIGNORE;
GF_Ok : uType:=uType+MB_OK;
GF_OkCancel : uType:=uType+MB_OKCANCEL;
GF_RetryCancel : uType:=uType+MB_RETRYCANCEL;
GF_YesNo : uType:=uType+MB_YESNO;
GF_YesNoCancel : uType:=uType+MB_YESNOCANCEL;
end;
case DefaultButton of
GF_Default1 : uType:=uType+MB_DEFBUTTON1;
GF_Default2 : uType:=uType+MB_DEFBUTTON2;
GF_Default3 : uType:=uType+MB_DEFBUTTON3;
GF_Default4 : uType:=uType+MB_DEFBUTTON4;
end;
uType:=uType+MB_APPLMODAL;
Result:=MessageBox(0,PChar(Msg),PChar(Caption[DlgType]),uType);
end;
end.
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009