Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TheMaker

MessageBox

Recommended Posts

Olá,Estou desenvolvendo uma aplicação totalmente em inglês, mas usei MessageBoxesp/ o tratamento de alguns erros e quando o software é executado em Windows (versão português) os captions dos botoes ficam em português...Como posso definir esses captions permanentemente em ingles independente da versão do sistema operacional?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem um arquivo .dcu que você configura isso... nao sei dizer qual...mas, já pensou em desenvolver seu proprio message??? com certeza c nunca mais vai correr este risco. pense isto. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá TheMaker, beleza?

 

Bom TODAS as MessageDialogs do Delphi são em inglês então suponho que você está usando:

  Application.MessageBox;
As MessageBox são diferentes das MessageDialog, as Box são geradas pelo SO então se o SO estiver em português elas viram em portugues.

 

Bom você tem duas saídas:

 

1) Muda as suas MessageBox para MessageDialog (oq é mais facil).

 

ou

 

2) Usa um método chamado CreateMessageDialog que vai mó trampo

Ex:

var   FF: TForm;begin        FF := nil;        FF := CreateMessageDialog('Este produto está marcado para trabalhar com lotes. Você está fazendo a entrada de um NOVO LOTE ou quer acessar os dados de um LOTE JÁ CADASTRADO?',         mtConfirmation, [mbOk, mbCancel]);         try            for i := 0 to FF.ComponentCount - 1 do            begin           	 if FF.Components[i] is TButton then                if TButton(FF.Components[i]).ModalResult = mrOk then                  begin                 	 TButton(FF.Components[i]).Caption := 'Novo Lote';                  end//                  else                  begin                 	 TButton(FF.Components[i]).Width := 99;                 	 TButton(FF.Components[i]).Caption := 'Lote já cadastrado';                  end;//               Application.ProcessMessages            end;            FF.ShowModal;         finally            NewLote := False;          if FF <> nil then                  NewLote := FF.ModalResult = mrOK;            FF.Free;         end;//end;
Bom espero ter ajudado, t+

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá.... eu andei dando uma olhada na internet, e achei num site bastante legal esta dica..{- Declare um método (procedure) na seção private do form principal conforme abaixo: }privateprocedure ManipulaExcecoes(Sender: TObject; E: Exception); {- Vá até a seção implementation e implemente este método, conforme o exemplo:}procedure TForm1.ManipulaExcecoes(Sender: TObject; E: Exception);begin MessageDlg(E.Message + #13#13 + 'Suporte técnico:'#13 + 'blabla blabla', mtError, [mbOK], 0);end; {- No evento OnCreate do Form principal escreva o código abaixo:}procedure TForm1.FormCreate(Sender: TObject);begin Application.OnException := ManipulaExcecoes;end; {Use assim:- Coloque um Button no form;- No evento OnClick deste botão coloque o código abaixo:}procedure TForm1.Button1Click(Sender: TObject);begin StrToInt('ABCD'); { Isto provoca uma exception }end; {Cuidado! Não coloque código que possa gerar exceção na rotina que manipula as exceções, pois se ocorrer uma exceção neste rotina, esta será chamada recursivamente até estourar a pilha. {delphi.eti.br}}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.