Dukungan MBCS di Visual C++
Saat dijalankan pada versi Windows yang diaktifkan MBCS, sistem pengembangan Visual C++ (termasuk editor kode sumber terintegrasi, debugger, dan alat baris perintah) diaktifkan MBCS, dengan pengecualian jendela memori.
Jendela memori tidak menginterpretasikan byte data sebagai karakter MBCS, meskipun dapat menafsirkannya sebagai karakter ANSI atau Unicode. Karakter ANSI selalu berukuran 1 byte dan karakter Unicode berukuran 2 byte. Dengan MBCS, karakter dapat berukuran 1 atau 2 byte dan interpretasinya tergantung pada halaman kode mana yang digunakan. Karena itu, sulit bagi jendela memori untuk menampilkan karakter MBCS dengan andal. Jendela memori tidak dapat mengetahui byte mana yang merupakan awal dari karakter. Pengembang dapat melihat nilai byte di jendela memori dan mencari nilai dalam tabel untuk menentukan representasi karakter. Ini dimungkinkan karena pengembang tahu alamat awal string berdasarkan kode sumber.
Visual C++ menerima karakter byte ganda di mana pun yang sesuai untuk melakukannya. Ini termasuk nama jalur dan nama file dalam kotak dialog dan entri teks di editor sumber daya Visual C++ (misalnya, teks statis di editor dialog dan entri teks statis di editor ikon). Selain itu, preprocessor mengenali beberapa arahan byte ganda — misalnya, nama file dalam #include
pernyataan, dan sebagai argumen untuk code_seg
pragma dan data_seg
. Di editor kode sumber, karakter byte ganda dalam komentar dan literal string diterima, meskipun tidak dalam elemen bahasa C/C++ (seperti nama variabel).
Dukungan untuk Editor Metode Input (IME)
Aplikasi yang ditulis untuk pasar Asia Timur yang menggunakan MBCS (misalnya, Jepang) biasanya mendukung IME Windows untuk memasukkan karakter byte tunggal dan ganda. Lingkungan pengembangan Visual C++ berisi dukungan penuh untuk IME.
Keyboard Jepang tidak secara langsung mendukung karakter Kanji. IME mengonversi string fonetik, dimasukkan dalam salah satu alfabet Jepang lainnya (Romaji, Katakana, atau Hiragana) menjadi representasi Kanji yang mungkin. Jika ada ambiguitas, Anda dapat memilih dari beberapa alternatif. Ketika Anda telah memilih karakter Kanji yang dimaksudkan, IME meneruskan dua WM_CHAR
pesan ke aplikasi pengontrol.
IME, yang diaktifkan oleh kombinasi kunci ALT+', muncul sebagai sekumpulan tombol (indikator) dan jendela konversi. Aplikasi memposisikan jendela pada titik penyisipan teks. Aplikasi harus menangani WM_MOVE
dan WM_SIZE
mengirim pesan dengan memposisikan ulang jendela konversi agar sesuai dengan lokasi atau ukuran baru jendela target.
Jika Anda ingin pengguna aplikasi Anda memiliki kemampuan untuk memasukkan karakter Kanji, aplikasi harus menangani pesan IME Windows. Untuk informasi selengkapnya tentang pemrograman IME, lihat Manajer Metode Input.
Visual C++ Debugger
Debugger Visual C++ menyediakan kemampuan untuk mengatur titik henti pada pesan IME. Selain itu, jendela Memori dapat menampilkan karakter byte ganda.
Alat Baris Perintah
Alat baris perintah Visual C++, termasuk pengkompilasi, NMAKE, dan pengkompilasi sumber daya (RC.EXE), diaktifkan MBCS. Anda dapat menggunakan opsi /c pengkompilasi sumber daya untuk mengubah halaman kode default saat mengkompilasi sumber daya aplikasi Anda.
Untuk mengubah lokal default pada waktu kompilasi kode sumber, gunakan #pragma setlocale.
Alat Grafis
Alat berbasis Visual C++ Windows, seperti Spy++ dan alat pengeditan sumber daya, sepenuhnya mendukung string IME.
Lihat juga
Dukungan untuk Set Karakter Multibyte (MBCSs)
Tips Pemrograman MBCS