Suporte MBCS no Visual C++

Quando executado em uma versão habilitada para MBCS do sistema operacional Windows 2000 ou Windows XP, o sistema de desenvolvimento do Visual C++ (incluindo o editor de código fonte integrada, depurador e ferramentas de linha de comando) está habilitada MBCS, com exceção da janela de memória.

A janela de memória não interpretará bytes de dados como caracteres MBCS, mesmo que ela possa interpretá-los como caracteres ANSI ou Unicode. Caracteres ANSI são sempre 1 byte em tamanho e caracteres Unicode 2 bytes de tamanho. Com MBCS, caracteres podem ser 1 ou 2 bytes de tamanho e a interpretação depende de qual página de código está em uso. Dessa forma, é difícil para a janela de memória exibir de forma confiável caracteres MBCS. A janela de memória não é possível saber qual byte é o início de um caractere. O desenvolvedor pode exibir os valores de byte na janela de memória e pesquisar o valor nas tabelas para determinar a representação de caracteres. Isso é possível porque o desenvolvedor sabe o endereço inicial de uma seqüência de caracteres com base no código-fonte.

Visual C++ aceita caracteres de byte duplo, onde for apropriado fazer isso. Isso inclui os nomes de caminho e nomes de arquivo nas 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 ícone. Além disso, o pré-processador reconhece algumas diretivas de byte duplo — por exemplo, nomes de arquivos #include instruções e como argumentos para o code_seg e data_seg pragmas. No editor de código fonte, são aceitos em comentários e literais de seqüência de caracteres de byte duplo, embora não estejam em elementos de linguagem C/C++ (como nomes de variáveis).

Suporte para Editor de método de entrada (IME)

Aplicativos criados para os mercados do Leste Asiático que usam MBCS (por exemplo, Japão) normalmente suportam o IME do Windows para inserir os dois caracteres de byte único e duplo. O ambiente de desenvolvimento do Visual C++ contém suporte completo para o IME. Para obter mais informações, consulte IME de exemplo: Demonstra como controlar o modo IME e implementar IME nível 3.

Os teclados japoneses não suportam diretamente caracteres Kanji. O IME converte uma seqüência de caracteres fonética inserida em um de outros alfabetos japonês (Romaji, Katakana ou Hiragana) suas possíveis representações de Kanji. Se houver ambigüidade, você pode selecionar a partir de várias alternativas. Quando você tiver selecionado o caractere de Kanji pretendido, o IME passa dois WM_CHAR mensagens para o aplicativo de controle.

O IME, ativado pelo ALT +' combinação de teclas, 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 pelo reposicionamento a janela de conversão de acordo com o novo local ou o tamanho da janela de destino.

Se desejar que os usuários do seu aplicativo para ter a capacidade de inserir caracteres Kanji, o aplicativo deve tratar mensagens IME do Windows. Para obter mais informações sobre a programação do IME, consulte O Editor de método de entrada.

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 de 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 ativados para MBCS. Você pode usar a opção de /c do compilador de recurso para alterar a página de código padrão durante a compilação de recursos do aplicativo.

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

Ferramentas gráficas

As ferramentas baseadas em Windows do Visual C++, como Spy + + e o recurso de edição de ferramentas, suportam completo a seqüências de caracteres do IME.

Consulte também

Conceitos

Suporte para conjuntos de caracteres Multibyte (MBCSs)

Dicas de programação de MBCS