Desenvolver um sistema totalmente em português no Delphi é um desafio empolgante, mas muitas vezes as mensagens padrão em inglês, geradas pela função MessageDlg, podem causar desconforto aos usuários. Neste artigo, exploraremos uma solução prática para personalizar essas mensagens, tornando-as mais adequadas ao idioma do sistema operacional.
![]()
Utilizando a Função MessageBox para Mensagens em Português
Uma alternativa eficaz para contornar o problema das mensagens em inglês é substituir a função MessageDlg pela função MessageBox. Esta última, parte de uma família de funções, permite o envio de mensagens no idioma configurado durante a instalação do sistema operacional.
A sintaxe básica da função MessageBox é a seguinte:
MessageBox(hWnd: HWND; lpText: PAnsiChar; lpCaption: PAnsiChar; uType: Cardinal): Integer;
Vamos examinar alguns dos parâmetros fundamentais:
- hWnd: HWND: Representa o identificador da janela. Em geral, podemos preenchê-lo com o handle da aplicação, utilizando
Application.Handle. - lpText: PAnsiChar: Este parâmetro recebe um ponteiro de caracteres que representa o texto da mensagem. Podemos preenchê-lo com o texto desejado, por exemplo:
'Este texto aparecerá no corpo da janela da mensagem.'. Vale destacar que, devido à forte verificação de compatibilidade entre tipos de dados no Delphi, é crucial realizar TypeCast para variáveis do tipo String. - lpCaption: PAnsiChar: Similar a lpText, mas destinado ao texto que aparecerá no título da janela da mensagem.
- uType: Cardinal: Este parâmetro determina o tipo da mensagem, incluindo botões e ícones. Podemos personalizar conforme a necessidade do sistema.
Personalizando Tipos de Mensagens
A seguir, apresentamos algumas configurações comuns para o parâmetro uType, agrupadas por tipos de mensagens:
Mensagens do Tipo Custom:
• 0: Botoes:[MbOK]; Icone(não);
• 1: Botoes:[MbOK, MbCancelar];
• 2: Botoes:[MbAnular, MbRepetir, MbIgnorar];
...
Mensagens do Tipo Error:
• 16: Botoes:[MbOK];
• 17: Botoes:[MbOK, MbCancelar];
• 18: Botoes:[MbAnular, MbRepetir, MbIgnorar];
...
Mensagens do Tipo Confirmation:
• 32: Botoes:[MbOK];
• 33: Botoes:[MbOK, MbCancelar];
• 34: Botoes:[MbAnular, MbRepetir, MbIgnorar];
...
Mensagens do Tipo Warning:
• 48: Botoes:[MbOK];
• 49: Botoes:[MbOK, MbCancelar];
• 50: Botoes:[MbAnular, MbRepetir, MbIgnorar];
...
Mensagens do Tipo Information:
• 64: Botoes:[MbOK];
• 65: Botoes:[MbOK, MbCancelar];
• 66: Botoes:[MbAnular, MbRepetir, MbIgnorar];
...
Formatando o Texto das Mensagens
Além das configurações padrão, é possível formatar o texto das mensagens. A partir de determinado ponto, a formatação do texto muda, proporcionando uma apresentação mais elaborada.
Resultado e Correspondências dos Botões:
=> MbOK: 1;
=> MbCancelar: 2;
=> MbAnular: 3;
...Ao adotar essa abordagem, garantimos que as mensagens geradas no Delphi se alinhem perfeitamente ao idioma configurado no sistema operacional, proporcionando uma experiência mais fluente e amigável aos usuários. Experimente essa solução e otimize a interação do seu sistema com o público-alvo definido.