Visual C++ 中的 MBCS 支援
在啟用 MBCS 的 Windows 版本上執行時,Visual C++ 開發系統(包括整合式原始程式碼編輯器、偵錯工具和命令列工具)已啟用 MBCS,但記憶體視窗除外。
記憶體視窗不會將資料的位元組解譯為 MBCS 字元,不過能解譯為 ANSI 或 Unicode 字元 ANSI 字元固定為 1 個位元組大小,而 Unicode 字元則是 2 個位元組大小。 使用 MBCS 時,字元可以是 1 個或 2 個位元組大小,解譯則是根據所使用的字碼頁而定。 因此,記憶體視窗很難順利顯示 MBCS 字元, 記憶體視窗不知道哪個位元組是字元的開頭。 開發人員可以在記憶體視窗中檢視位元組值,並查閱資料表中的值,以判斷字元標記法。 這是可能的,因為開發人員知道以原始程式碼為基礎的字串起始位址。
Visual C++ 會接受適用于此動作的雙位元組字元。 這包括對話方塊中的路徑名稱和檔案名,以及 Visual C++ 資源編輯器中的文字專案(例如,對話方塊編輯器中的靜態文字,以及圖示編輯器中的靜態文字專案)。 此外,預處理器會辨識一些雙位元組指示詞,例如語句中的 #include
檔案名,以及 做為 和 data_seg
pragmas 的 code_seg
引數。 在原始程式碼編輯器中,會接受批註和字串常值中的雙位元組字元,但不是 C/C++ 語言元素(例如變數名稱)。
支援輸入法編輯器 (IME)
針對使用 MBCS(例如日本)的東亞市場所撰寫的應用程式通常支援 Windows IME 來輸入單位元組和雙位元組字元。 Visual C++ 開發環境包含 IME 的完整支援。
日文鍵盤不直接支援中文字元。 輸入法會將拼音字串,以另一個日文字母(羅馬字、片假名或平假名)輸入成其可能的漢字標記法。 如果模棱兩可,您可以從數個替代方案中選取。 當您選取預期的中文字元時,IME 會將兩 WM_CHAR
則訊息傳遞至控制應用程式。
由 ALT+' 按鍵組合啟動的 IME 會顯示為一組按鈕(指標)和轉換視窗。 應用程式會將視窗放置在文字插入點。 應用程式必須 WM_MOVE
重新置放轉換視窗,以符合目標視窗的新位置或大小來處理 和 WM_SIZE
訊息。
如果您希望應用程式的使用者能夠輸入中文字元,應用程式必須處理 Windows IME 訊息。 如需輸入法程式設計的詳細資訊,請參閱 輸入方法管理員 。
Visual C++ 偵錯工具
Visual C++ 偵錯工具可讓您在 IME 訊息上設定中斷點。 此外,[記憶體] 視窗可以顯示雙位元組字元。
命令列工具
Visual C++ 命令列工具,包括編譯器、NMAKE 和資源編譯器 (RC.EXE),都已啟用 MBCS。 您可以在編譯應用程式的資源時,使用資源編譯器的 /c 選項來變更預設字碼頁。
若要在原始程式碼編譯時間變更預設地區設定,請使用 #pragma setlocale 。
圖形化工具
Visual C++ Windows 型工具,例如 Spy++ 和資源編輯工具,完全支援 IME 字串。