Tradução das caixas de dialogo YES_NO no BDS 2006

Delphi

24/07/2007

Como faz para fazer a tradução das caixas de dialogo YES_NO e as demais no BDS 2006? Já vi no delphi 7 como fazer alteração, mas no BDS 2006 não consegui.


Jpauloss

Jpauloss

Curtidas 0

Respostas

Vitor Alcantara

Vitor Alcantara

24/07/2007

Você pode utilizar o método MessageBox para criar as suas mensagens

ex:

//Abre uma caixa de informação
Procedure MsgInfo(Handle:THandle; Msg:String);
Begin
  MessageBox(Handle,Pchar(Msg),´Informação´,mb_IconInformation);
end;

//Abre uma caixa de mensagem de erro
Procedure MsgErro(Handle:THandle; Msg:String);
Begin
  MessageBox(Handle,Pchar(Msg),´Erro´,mb_IconError);
end;
//Abre uma caixa de pergunta com o botão Sim selecionado
Function  PerguntaS(Hnd:THandle;msg:String):Boolean;
Begin
  Result :=  MessageBox(hnd,Pchar(msg),´Confirmação´,mb_YesNo + mb_IconQuestion ) = IdYes;
end;
//Abre uma caixa de pergunta com o botão Não selecionado
Function PerguntaN(Hnd:THandle;msg:String):Boolean;
Begin
  Result := MessageBox(Hnd,Pchar(msg),´Confirmação´,mb_YesNo + Mb_IconQuestion + Mb_DefButton2) = IdYes;
end;


E para utilizar basta
ex:
  MsgInfo(Handle,´Coloque aqui a sua informação´);
  MsgErro(Handle,´Coloque aqui o seu erro´);
  if PerguntaS(Handle,´Você cliclou em SIM?´) then
  MsgInfo(Handle,´SIM´)
  else
  MsgErro(Handle,´NÃO´);
  
  if not PerguntaN(Handle,´Você clicou em NÃO?´) then
  MsgInfo(Handle,´SIM´)
  else
  MsgErro(Handle,´NÃO´);



GOSTEI 0
Jpauloss

Jpauloss

24/07/2007

não tem um jeito que a borland ensina igual ao delpgi 7? :lol:


GOSTEI 0
Vitor Alcantara

Vitor Alcantara

24/07/2007

O método que a Borland ensina no Delphi 7 eu sinseramente não conheço.
Você não quer deixar as caixas de perguntas com os botões aparecendo Sim e Não em vez de Yes e No?
Se for isso o método MessageBox faz isso pra você, o método da função é assim:

MessageBox(O handle do form, A mensagem que deverá aparecer , O caption da mensagem, Os botões e ícones da caixa);
MessageBox(Handle,´Pergunta?´,´Titulo´,mb_yesNo + mb_iconQuestion);

Ou pode ser assim também:
Application.MessageBox(A mensagem que deverá aparecer , O caption da caixa de mensagem , Os botões e ícones da caixa);
Application.MessageBox(´Pergunta?´,´Titulo´, mb_YesNo + mb_IconQuestion);

Desse modo os botões yesNo já vem traduzido para o idioma que está instalado o Windows.

As funções e procedures que eu coloquei anteriormente é apenas uma forma de simplificar a chamada do método e ganhar tempo.


GOSTEI 0
Adriano Santos

Adriano Santos

24/07/2007

Se você for igual a mim: apaixonado pelo MessageDlg, faça como eu...crie sua própria MessageDlg...:D

Nesses tópicos foram discutidos isso e inclusive tem o código do meu MessageDlg:

[url=http://forum.clubedelphi.net/viewtopic.php?t=71435&highlight=messagedlg]MessageDlg com Foco[/url].

[url=http://forum.clubedelphi.net/viewtopic.php?t=14245&highlight=messagedlg]Botões no MessageDlg[/url]

Abs


GOSTEI 0
POSTAR