Pular para o conteúdo

Personalizando Mensagens no Delphi para uma Experiência em Português

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.

Personalizando Mensagens no Delphi para uma Experiencia em Portugues

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.