Fórum Botões no MessageDLG #166038
24/06/2003
0
Alguém sabe como faço para traduzir o caption dos botões de uma MessageDLG?
Ex.: Deseja realmente excluir o registro atual? SIM NÃO (no lugar do Yes No)
Obrigado por qualquer ajuda.
tomew
Tomew
Curtir tópico
+ 0Posts
24/06/2003
Fernando
GExperts, se vc não conhece vale a pena conhecer que e muito bom
se vc quizer me mande um e-mail que te mando o programa
fr.rodrigo@bol.com.br
Gostei + 0
24/06/2003
Fernando
GExperts, se vc não conhece vale a pena conhecer que e muito bom
se vc quizer me mande um e-mail que te mando o programa
fr.rodrigo@bol.com.br
Gostei + 0
24/06/2003
Fred
ex:
if application.messagebox(´Deseja Realmente excluir´,´Atenção´,mbyesno+mb_iconwarning) = idyes then
comandos para excluir; 8)
Gostei + 0
19/09/2005
Marcosrocha
Em minhas aplicações estou usando o MessageDlg, e pretendo traduzir os botões porque tenho ouvido boatos de que o MessageBox dá muito pau e há casos em que ele aparece em português e casos em que aparece em Inglês. :shock:
Enfim ainda existe alguma maneira de traduzir esses botões no MessageDlg :wink: ?
Gostei + 0
19/09/2005
Marcosrocha
Ainda em tempo eu preciso disso pq estou usando CLX pra usar no Linux!!
Gostei + 0
19/09/2005
Dopi
- Copie o arquivo o arquivo [b:84f734c542]Consts.pas[/b:84f734c542] (VCL) ou [b:84f734c542]QConsts.pas[/b:84f734c542] (CLX) para o diretório do seu projeto, ou para algum diretório do seu [b:84f734c542]LibPath[/b:84f734c542]
- Traduza as msgs e botos que vc precisar...
- Recompile o seu programa
Gostei + 0
19/09/2005
Marcosrocha
Gostei + 0
19/09/2005
Kenio_c
Gostei + 0
20/09/2005
Dopi
Deve funcionar... (pelo menos comigo está ok)
- Verifique se o compilador Delphi processou a QConsts.pas que está no se diretório, (gerando a QConsts.dcu)
- Experimente clicar em Project, Build ... para forçar o compilador a processar todos os fontes.
Gostei + 0
20/09/2005
Adriano Santos
function Dc_MessageDlg(Msg: string; AType: TMsgDlgType; AButtons: TMsgDlgButtons; IndiceHelp: LongInt; DefButton: TMOdalResult = mrNone; Portugues: Boolean = True): Word;
function Dc_MessageDlg(Msg: string; AType: TMsgDlgType; AButtons: TMsgDlgButtons; IndiceHelp: LongInt; DefButton: TMOdalResult = mrNone; Portugues: Boolean = True): Word; var I: Integer; Mensagem: TForm; begin Mensagem := CreateMessageDialog(Msg, AType, Abuttons); Mensagem.HelpContext := IndiceHelp; with Mensagem do begin for i := 0 to ComponentCount - 1 do begin if (Components[i] is TButton) then begin if (TButton(Components[i]).ModalResult = DefButton) then begin ActiveControl := TWincontrol(Components[i]); end; end; end; if Portugues then begin if Atype = mtConfirmation then Caption := ´Confirmação´ else if AType = mtWarning then Caption := ´Aviso´ else if AType = mtError then Caption := ´Erro´ else if AType = mtInformation then Caption := ´Informação´; end; end; if Portugues then begin TButton(Mensagem.FindComponent(´YES´)).Caption := ´&Sim´; TButton(Mensagem.FindComponent(´NO´)).Caption := ´&Não´; TButton(Mensagem.FindComponent(´CANCEL´)).Caption := ´&Cancelar´; TButton(Mensagem.FindComponent(´ABORT´)).Caption := ´&Abortar´; TButton(Mensagem.FindComponent(´RETRY´)).Caption := ´&Repetir´; TButton(Mensagem.FindComponent(´IGNORE´)).Caption := ´&Ignorar´; TButton(Mensagem.FindComponent(´ALL´)).Caption := ´&Todos´; TButton(Mensagem.FindComponent(´HELP´)).Caption := ´A&juda´; end; Result := Mensagem.ShowModal; Mensagem.Free; end;
Gostei + 0
20/09/2005
Martins
function Dc_MessageDlg(Msg: string; AType: TMsgDlgType; AButtons: TMsgDlgButtons; IndiceHelp: LongInt; DefButton: TMOdalResult = mrNone; Portugues: Boolean = True): Word;
function Dc_MessageDlg(Msg: string; AType: TMsgDlgType; AButtons: TMsgDlgButtons; IndiceHelp: LongInt; DefButton: TMOdalResult = mrNone; Portugues: Boolean = True): Word; var I: Integer; Mensagem: TForm; begin Mensagem := CreateMessageDialog(Msg, AType, Abuttons); Mensagem.HelpContext := IndiceHelp; with Mensagem do begin for i := 0 to ComponentCount - 1 do begin if (Components[i] is TButton) then begin if (TButton(Components[i]).ModalResult = DefButton) then begin ActiveControl := TWincontrol(Components[i]); end; end; end; if Portugues then begin if Atype = mtConfirmation then Caption := ´Confirmação´ else if AType = mtWarning then Caption := ´Aviso´ else if AType = mtError then Caption := ´Erro´ else if AType = mtInformation then Caption := ´Informação´; end; end; if Portugues then begin TButton(Mensagem.FindComponent(´YES´)).Caption := ´&Sim´; TButton(Mensagem.FindComponent(´NO´)).Caption := ´&Não´; TButton(Mensagem.FindComponent(´CANCEL´)).Caption := ´&Cancelar´; TButton(Mensagem.FindComponent(´ABORT´)).Caption := ´&Abortar´; TButton(Mensagem.FindComponent(´RETRY´)).Caption := ´&Repetir´; TButton(Mensagem.FindComponent(´IGNORE´)).Caption := ´&Ignorar´; TButton(Mensagem.FindComponent(´ALL´)).Caption := ´&Todos´; TButton(Mensagem.FindComponent(´HELP´)).Caption := ´A&juda´; end; Result := Mensagem.ShowModal; Mensagem.Free; end;
Muito interessante [b:96ec8e77ff]Adriano[/b:96ec8e77ff], mas não sei se ele vai querer só o MessageDlg, sabe como é, sempre vem mais depois, aí o cara quer aquela mensagem de erro em pt, pq não dá pra ler em inglês. Mas seu código tá Blz!!!!
Pq ele não usa o google para achar as mensagens traduzidas do Delphi? Seria bem melhor. Lembrando q ele deveria fazer backup antes, Ok!
Gostei + 0
20/09/2005
Adriano Santos
Então [b:2c36b4b829]Martins[/b:2c36b4b829], tem que traduzir mesmo as consts.pas e qconsts.pas, isso funciona...antigamente fazia isso.
Não sei pq não funcionou. Quando eu fazia, eu ´sobrepunha´ o próprio arquivo do Deplhi.
Na seção de downloads do DelphiBR tem:
[url=http://www.delphibr.com.br/index.php]DelphiBR - Downloads[/url]
Só sobrepor amigo e já era.
Gostei + 0
20/09/2005
Martins
Então [b:bfb56a4319]Martins[/b:bfb56a4319], tem que traduzir mesmo as consts.pas e qconsts.pas, isso funciona...antigamente fazia isso.
Não sei pq não funcionou. Quando eu fazia, eu ´sobrepunha´ o próprio arquivo do Deplhi.
Na seção de downloads do DelphiBR tem:
[url=http://www.delphibr.com.br/index.php]DelphiBR - Downloads[/url]
Só sobrepor amigo e já era.[/quote:bfb56a4319]
Comigo sempre funcionou, eu sempre traduzi a [b:bfb56a4319]Consts.pas, QConsts.pas, DbConsts.pas[/b:bfb56a4319], e funfava blz!!!
Ele deve está cometendo algum erro causado por falta de atenção.
Valew [b:bfb56a4319]Adriano[/b:bfb56a4319]!!!!
Gostei + 0
26/09/2005
Mordred
Copiei o QConsts.pas traduzido por cima do QConsts.pas que fica na pasta Delphi\Source\CLX, apaguei as DCUs e compilei de novo. O Delphi gerou outro arquivo DCU, mas a mensagem do botão continua aparecendo em inglês.
Tentei copiar o arquivo QConsts.pas pra pasta Delphi\Lib, mas ainda assim não funcionou. Estou tão desesperado que também tentei todos os itens acima usando o arquivo Consts.pas, também sem resultados. No entanto já vi muita gente falando que traduzir estes arquivinhos funciona...
O que será que estou fazendo de errado? Estou usando Delphi 7. Será que faltou mais algum passo no processo de substituição do arquivo?
Gostei + 0
26/09/2005
Dopi
[img:be882ef26e]http://www.djsystem.com.br/fotos/div/MessageDlg1.png[/img:be882ef26e] [img:be882ef26e]http://www.djsystem.com.br/fotos/div/MessageDlg2.png[/img:be882ef26e] [img:be882ef26e]http://www.djsystem.com.br/fotos/div/MessageDlg3.png[/img:be882ef26e]
Observem que traduzi os Botões e o Titulo da janela...
O código usado para gerar as telas acima foi:
procedure TForm1.Button1Click(Sender: TObject); begin MessageDlg(´Teste de Botões 1´,mtInformation,[mbOk,mbCancel],0) ; MessageDlg(´Teste de Botões 2´,mtError,[mbYes,mbNo],0) ; MessageDlg(´Teste de Botões 3´,mtWarning,[mbAbort,mbRetry,mbIgnore],0) ; end;
@Mordred
- Experimente clicar em Project, Build...
- Vc está usando MessagDlg mesmo ?
- Verifique se vc alterou as constantes corretas no QConsts.pas (veja exemplo no inicio do tópico)
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)