Buscar

Messagedlg com o idioma do windows

Código

{ MSGDLG - Guionardo Furlan - 21/07/2005

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.

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Forms
Adicionada dia: 21/07/05
Por: Guionardo Furlan
Visualizada: 3186 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009