ImmSetCompositionStringA-Funktion (imm.h)
Legt die Zeichen, Attribute und Klauseln der Kompositions- und Lesezeichenfolgen fest.
Syntax
BOOL ImmSetCompositionStringA(
HIMC unnamedParam1,
[in] DWORD dwIndex,
[in, optional] LPVOID lpComp,
[in] DWORD dwCompLen,
[in, optional] LPVOID lpRead,
[in] DWORD dwReadLen
);
Parameter
unnamedParam1
[in] dwIndex
Typ der festzulegenden Informationen. Dieser Parameter kann einen der folgenden Werte aufweisen.
Wert | Bedeutung |
---|---|
|
Legen Sie die Kompositionszeichenfolge, die Lesezeichenfolge oder beides fest. Mindestens einer der parameter lpComp und lpRead muss eine gültige Zeichenfolge angeben. Wenn eine der beiden Zeichenfolgen zu lang ist, wird sie vom IME abgeschnitten. |
|
Legen Sie Attribute für die Kompositionszeichenfolge, die Lesezeichenfolge oder beides fest. Mindestens einer der Parameter lpComp und lpRead muss ein gültiges Attributarray angeben. |
|
Legen Sie die Klauselinformationen für die Kompositionszeichenfolge, die Lesezeichenfolge oder beides fest. Mindestens einer der parameter lpComp und lpRead muss auf ein gültiges Klauselinformationsarray verweisen. |
|
Windows Me/98, Windows 2000, Windows XP: Bitten Sie IME, die Zeichenfolge mithilfe einer angegebenen RECONVERTSTRING Struktur neu zu konvertieren. |
|
Windows Me/98, Windows 2000, Windows XP: Bitten Sie IME, die RECONVERTSTRING Struktur anzupassen. Anschließend kann die Anwendung die angepasste Struktur mithilfe von SCS_SETRECONVERTSTRING an diese Funktion übergeben. IME generiert keine WM_IME_COMPOSITION Nachrichten. |
[in, optional] lpComp
Zeigen Sie auf einen Puffer, der die für die Kompositionszeichenfolge festzulegenden Informationen enthält, wie durch den Wert von dwIndexangegeben.
[in] dwCompLen
Größe des Informationspuffers für die Kompositionszeichenfolge in Bytes, auch wenn SCS_SETSTR angegeben ist und der Puffer eine Unicode-Zeichenfolge enthält.
[in, optional] lpRead
Zeigen Sie auf einen Puffer, der die für die Lesezeichenfolge festzulegenden Informationen enthält, wie durch den Wert von dwIndexangegeben. Die Anwendung kann diesen Parameter auf NULL-festlegen.
[in] dwReadLen
Größe des Informationspuffers für die Lesezeichenfolge in Bytes, auch wenn SCS_SETSTR angegeben ist und der Puffer eine Unicode-Zeichenfolge enthält.
Rückgabewert
Gibt einen Wert ungleich Null zurück, wenn dies erfolgreich war, oder 0 andernfalls.
Bemerkungen
Die Anwendung kann lpComp, lpRead-oder beides festlegen. Wenn die Anwendung keinen Wert für lpComp-angibt, muss dieser Parameter auf NULL- festgelegt und dwCompLen- auf 0 festgelegt werden.
Wenn die Anwendung Attribute ändert, müssen alle Zeichen in einer Klausel dasselbe Attribut aufweisen. Konvertierte Zeichen müssen das Attribut ATTR_CONVERTED oder ATTR_TARGET_CONVERTED aufweisen. Nicht konvertierte Zeichen müssen das Attribut ATTR_INPUT oder ATTR_TARGET_NOTCONVERTED aufweisen.
Wenn die Anwendung Klauselinformationen ändert, kann sie nur die Zielklausel ändern, die nur jeweils auswirkungen auf eine Grenze hat. Die Zielklausel weist das Attribut ATTR_TARGET_CONVERTED oder ATTR_TARGET_NOTCONVERTED auf.
Weitere Informationen zu Attributen (ATTR_*-Werten) finden Sie unter Composition String.
Wenn der IME die Änderungen abgeschlossen hat, sendet er eine WM_IME_COMPOSITION Nachricht an die Anwendung, um sie über die Änderungen zu benachrichtigen.
Windows Me/98, Windows 2000, Windows XP: Die SCS_*CONVERTSTRING-Werte werden für die Umversion verwendet. Sie können nur für einen IME mit der SCS_CAP_SETRECONVERTSTRING-Eigenschaft verwendet werden. Die Anwendung verwendet diese Werte wie folgt:
- Rufen Sie ImmSetCompositionString- mit SCS_QUERYRECONVERTSTRING auf, sodass IME die RECONVERTSTRING- Struktur für die Neukonvertierung anpasst.
- Rufen Sie ImmSetCompositionString- mit SCS_SETRECONVERTSTRING auf, sodass IME eine neue Kompositionszeichenfolge generiert. Danach geben lpComp und lpRead- eine RECONVERTSTRING- Struktur an, die die aktualisierte Kompositions- und Lesezeichenfolge enthält. Verwenden Sie den Wert lpRead- nur, wenn der ausgewählte IME SCS_CAP_MAKEREAD festgelegt hat.
Anmerkung
Der imm.h-Header definiert ImmSetCompositionString als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP [Desktop-Apps nur],Ostasiatische Sprachunterstützung installiert. |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | imm.h (include Immdev.h, Windows.h) |
Library | Imm32.lib |
DLL- | Imm32.dll |