共用方式為


Visual C++ 中的 MBCS 支援

執行於支援 MBCS 的 Windows 2000 或 Windows XP 作業系統版本時,Visual C++ 的開發系統 (包含整合的原始程式碼編輯器、偵錯工具和命令列工具) 除了記憶體視窗以外,其餘都支援 MBCS。

記憶體視窗不會將資料的位元組解譯為 MBCS 字元,不過能解譯為 ANSI 或 Unicode 字元。ANSI 字元永遠為 1 個位元組大小,而 Unicode 字元是 2 個位元組大小。使用 MBCS 時,字元可以是 1 個或 2 個位元組大小,解譯則是根據所使用的字碼頁 (Code Page) 而定。因此,記憶體視窗很難順利顯示 MBCS 字元,記憶體視窗不知道哪個位元組是字元的開頭。 開發人員可以在記憶體視窗中檢視位元組值,並在資料表中查詢值,以判斷字元表示。 這可能是因為開發人員根據原始程式碼,得知字串的開始位址。

Visual C++ 會在任何適當的時候接受雙位元組字元。 這包括在對話方塊中的路徑名稱和檔案名稱,以及 Visual C++ 資源編輯器的文字項目 (例如,對話編輯器裡的靜態文字和圖示編輯器裡的靜態文字項目)。 除此之外,前置處理器 (Preprocessor) 辨識一些雙字元組指示詞─例如,#include 陳述式裡的檔案名稱,做為 code_segdata_seg 程式的引數。 在原始程式碼編輯器裡,會接受註解和字串常值裡的雙位元組字元,雖然不是在 C/C++ 語言項目 (例如變數名稱) 中。

輸入法 (IME) 的支援

為使用 MBCS 的東亞市場 (例如,日本) 所撰寫的應用程式,通常支援 Windows IME 來輸入單一位元組和雙位元組字元。 Visual C++ 開發環境包含 IME 的完整支援。 如需詳細資訊,請參閱 IME 範例:示範如何控制 IME 模式和實作 IME 層級 3

日語鍵盤並不直接支援漢字字元。 IME 將以其他日文字母 (Romaji、片假名或平假名) 輸入的音標字串轉換成可能的漢字表示。 如果有模稜兩可,您可以從許多替代方法裡選擇。 一旦您選定預定的漢字字元之後,IME 會將兩個 WM_CHAR 訊息傳遞至控制應用程式。

IME 是由 ALT+` 鍵組合來啟動,以一組按鈕 (指示器) 和轉換視窗出現。 應用程式在文字插入點調整視窗。 應用程式必須處理 WM_MOVEWM_SIZE 訊息,藉著重新調整轉換視窗以遵照新位置或目標視窗的大小。

如果您要應用程式的使用者能夠輸入漢字字元,應用程式必須處理 Windows IME 訊息。 如需 IME 程式設計的詳細資訊,請參閱輸入法 (IME)

Visual C++ 偵錯工具

Visual C++ 偵錯工具提供在 IME 訊息上設定中斷點的功能。 除此之外,[記憶體] 視窗可以顯示雙位元組字元。

命令列工具

Visual C++ 命令列工具,包括編譯器、NMAKE 和資源編譯器 (RC.EXE),都支援 MBCS。 當您編譯您的應用程式資源時,您可以使用資源編譯器的 /c 選項來更改預設字碼頁。

若要在原始程式碼編譯時更改預設地區設定 (Locale),請使用 #pragma setlocale

圖形工具

Visual C++ 以 Windows 為基礎所開發的工具,例如 Spy++ 和資源編輯工具,完整支援 IME 字串。

請參閱

概念

多位元組字元集 (MBCS) 的支援

MBCS 程式設計提示