Conselhos de programação MBCS geral
Use as seguintes dicas:
Flexibilidade, use o tempo de execução de macros como _tcschr e _tcscpy quando possível.Para obter mais informações, consulte Mapeamentos de texto genérico em Tchar.h.
Use o tempo de execução c _getmbcp função para obter informações sobre a página de código atual.
Não reutilize recursos de seqüência de caracteres.Dependendo do idioma de destino, uma determinada seqüência de caracteres pode ter um significado diferente quando convertida.Por exemplo, menu principal "Arquivo", o aplicativo pode traduzir diferente da seqüência de caracteres "Arquivo" na caixa de diálogo.Se você precisar usar mais de uma seqüência com o mesmo nome, use identificações de cadeia de caracteres diferente para cada.
Convém saber se seu aplicativo está sendo executado no sistema operacional habilitado MBCS.Para fazer isso, definir um sinalizador no início do programa; Não confie nas chamadas de API.
Ao criar caixas de diálogo, permitir que aproximadamente 30% espaço extra no final de controles de texto estático para conversão de MBCS.
Tenha cuidado ao selecionar fontes para seu aplicativo, porque algumas fontes não estão disponíveis em todos os sistemas.Por exemplo, a versão japonesa do Windows 2000 não suporta a fonte Helvetica.
Ao selecionar a fonte para as caixas de diálogo, use MS Shell Dlg em vez de MS Sans Serif ou Helvetica.MS Shell Dlg é substituído com a fonte correta pelo sistema antes de criar a caixa de diálogo.Usar o MS Shell Dlg garante que quaisquer alterações no sistema operacional para lidar com essa fonte automaticamente estarão disponíveis.(MFC substitui MS Shell Dlg com o DEFAULT_GUI_FONT ou a fonte do sistema no Windows 95, Windows 98 e Windows NT 4 porque esses sistemas não manipulam MS Shell Dlg corretamente.)
Ao projetar seu aplicativo, decida quais seqüências de caracteres podem ser localizadas.Em caso de dúvida, suponha que determinada seqüência de caracteres será localizada.Como tal, não misture seqüências de caracteres que podem ser localizadas com aqueles que não.