MBCS-Unterstützung in Visual C++
Wenn sie auf einer MBCS-fähigen Version von Windows ausgeführt wird, ist das Visual C++-Entwicklungssystem (einschließlich des integrierten Quellcode-Editors, Debuggers und Befehlszeilentools) MBCS-fähig, mit Ausnahme des Speicherfensters.
Das Speicherfenster interpretiert keine Bytes von Daten als MBCS-Zeichen, obwohl sie als ANSI- oder Unicode-Zeichen interpretiert werden können. ANSI-Zeichen sind immer 1 Byte groß, und Unicode-Zeichen sind 2 Byte groß. Bei MBCS können Zeichen 1 oder 2 Byte groß sein, und ihre Interpretation hängt davon ab, welche Codeseite verwendet wird. Aus diesem Grund ist es für das Speicherfenster schwierig, MBCS-Zeichen zuverlässig anzuzeigen. Das Speicherfenster kann nicht wissen, welches Byte der Anfang eines Zeichens ist. Der Entwickler kann die Bytewerte im Speicherfenster anzeigen und den Wert in Tabellen nachschlagen, um die Zeichendarstellung zu bestimmen. Dies ist möglich, da der Entwickler die Startadresse einer Zeichenfolge basierend auf dem Quellcode kennt.
Visual C++ akzeptiert Double-Byte-Zeichen unabhängig davon, wo dies geeignet ist. Dazu gehören Pfadnamen und Dateinamen in Dialogfeldern und Texteinträgen im Visual C++-Ressourcen-Editor (z. B. statischer Text im Dialogfeld-Editor und statische Texteinträge im Symbol-Editor). Darüber hinaus erkennt der Präprozessor einige Double-Byte-Direktiven , z. B. Dateinamen in #include
Anweisungen und als Argumente für die code_seg
und data_seg
Pragmen. Im Quellcode-Editor werden Doppelbytezeichen in Kommentaren und Zeichenfolgenliteralen akzeptiert, jedoch nicht in C/C++-Sprachelementen (z. B. Variablennamen).
Unterstützung für den Eingabemethoden-Editor (IME)
Anwendungen, die für ostasiatische Märkte geschrieben wurden, die MBCS (z. B. Japan) verwenden, unterstützen normalerweise windows IME für die Eingabe von Einzel- und Doppelbytezeichen. Die Visual C++-Entwicklungsumgebung enthält vollständige Unterstützung für den IME.
Japanische Tastaturen unterstützen Kanji-Zeichen nicht direkt. Der IME konvertiert eine phonetische Zeichenfolge, die in einem der anderen japanischen Alphabete (Romaji, Katakana oder Hiragana) in seine möglichen Kanji-Darstellungen eingegeben wird. Wenn mehrdeutig ist, können Sie aus mehreren Alternativen auswählen. Wenn Sie das beabsichtigte Kanji-Zeichen ausgewählt haben, übergibt der IME zwei WM_CHAR
Nachrichten an die steuernde Anwendung.
Der IME, aktiviert durch die TASTENkombination ALT+' wird als Satz von Schaltflächen (indikator) und einem Konvertierungsfenster angezeigt. Die Anwendung positioniert das Fenster an der Texteinfügemarke. Die Anwendung muss verarbeiten WM_MOVE
und WM_SIZE
nachrichten, indem das Konvertierungsfenster neu positioniert wird, um der neuen Position oder Größe des Zielfensters zu entsprechen.
Wenn Sie möchten, dass Benutzer Ihrer Anwendung Kanji-Zeichen eingeben können, muss die Anwendung Windows IME-Nachrichten verarbeiten. Weitere Informationen zur IME-Programmierung finden Sie im Eingabemethoden-Manager.
Visual C++-Debugger
Der Visual C++-Debugger bietet die Möglichkeit, Haltepunkte für IME-Nachrichten festzulegen. Darüber hinaus kann das Speicherfenster Doppelbytezeichen anzeigen.
Befehlszeilentools
Die Visual C++-Befehlszeilentools, einschließlich Compiler, NMAKE und der Ressourcencompiler (RC.EXE), sind MBCS-fähig. Sie können die Option "/c" des Ressourcencompilers verwenden, um die Standardcodeseite beim Kompilieren der Ressourcen Ihrer Anwendung zu ändern.
Um das Standardgebietsschema zur Kompilierungszeit des Quellcodes zu ändern, verwenden Sie #pragma setlocale.
Grafische Tools
Die Visual C++ Windows-basierten Tools wie Spy++ und die Ressourcenbearbeitungstools unterstützen vollständig IME-Zeichenfolgen.
Siehe auch
Unterstützung von Multibyte-Zeichensätzen (MBCS)
Tipps für die MBCS-Programmierung