Partilhar via


Suporte ao MBCS no Visual C++

Quando executado em uma versão habilitada para MBCS do Windows, o sistema de desenvolvimento do Visual C++ (incluindo o editor de código-fonte integrado, depurador e ferramentas de linha de comando) é habilitado para MBCS, com exceção da janela de memória.

A janela de memória não interpreta bytes de dados como caracteres MBCS, embora possa interpretá-los como caracteres ANSI ou Unicode. Os caracteres ANSI têm sempre 1 byte de tamanho e os caracteres Unicode têm 2 bytes de tamanho. Com o MBCS, os caracteres podem ter 1 ou 2 bytes de tamanho e sua interpretação depende de qual página de código está em uso. Devido a isso, é difícil para a janela de memória exibir de forma confiável caracteres MBCS. A janela de memória não pode saber qual byte é o início de um caractere. O programador pode visualizar os valores de byte na janela de memória e consultar os valores em tabelas para determinar a representação de caracteres. Isso é possível porque o desenvolvedor sabe o endereço inicial de uma cadeia de caracteres com base no código-fonte.

O Visual C++ aceita caracteres de byte duplo sempre que for apropriado fazê-lo. Isso inclui nomes de caminho e nomes de arquivo em caixas de diálogo e entradas de texto no editor de recursos do Visual C++ (por exemplo, texto estático no editor de diálogo e entradas de texto estático no editor de ícones). Além disso, o pré-processador reconhece algumas diretivas de byte duplo — por exemplo, nomes de ficheiro em #include instruções e como argumentos para as pragmas code_seg e data_seg. No editor de código-fonte, caracteres de byte duplo em comentários e literais de cadeia de caracteres são aceitos, embora não em elementos da linguagem C/C++ (como nomes de variáveis).

Suporte para o IME (Input Method Editor)

Aplicativos escritos para mercados do Leste Asiático que usam MBCS (por exemplo, Japão) normalmente suportam o IME do Windows para inserir caracteres de byte único e duplo. O ambiente de desenvolvimento do Visual C++ contém suporte total para o IME.

Os teclados japoneses não suportam diretamente caracteres Kanji. O IME converte uma cadeia fonética, inserida em um dos outros alfabetos japoneses (Romaji, Katakana ou Hiragana) em suas possíveis representações Kanji. Se houver ambiguidade, você pode selecionar entre várias alternativas. Quando você seleciona o caractere Kanji pretendido, o IME passa duas WM_CHAR mensagens para o aplicativo de controle.

O IME, ativado pela combinação de teclas ALT+, aparece como um conjunto de botões (um indicador) e uma janela de conversão. O aplicativo posiciona a janela no ponto de inserção de texto. O aplicativo deve manipular WM_MOVE e WM_SIZE mensagens reposicionando a janela de conversão para estar em conformidade com o novo local ou tamanho da janela de destino.

Se você quiser que os usuários do seu aplicativo tenham a capacidade de inserir caracteres Kanji, o aplicativo deve manipular mensagens do Windows IME. Para obter mais informações sobre programação do IME, consulte Input Method Manager.

Depurador do Visual C++

O depurador do Visual C++ fornece a capacidade de definir pontos de interrupção em mensagens do IME. Além disso, a janela Memória pode exibir caracteres de byte duplo.

Ferramentas de Linha de Comando

As ferramentas de linha de comando do Visual C++, incluindo o compilador, NMAKE e o compilador de recursos (RC.EXE), são habilitadas para MBCS. Você pode usar a opção /c do compilador de recursos para alterar a página de código padrão ao compilar os recursos do seu aplicativo.

Para alterar a localidade padrão em tempo de compilação do código-fonte, use #pragma setlocale.

Ferramentas Gráficas

As ferramentas baseadas no Windows do Visual C++, como Spy++ e as ferramentas de edição de recursos, suportam totalmente cadeias de caracteres IME.

Ver também

Suporte para conjuntos de caracteres multibyte (MBCSs)
Dicas de programação do MBCS