ImmSetCompositionStringA-Funktion (imm.h)
Legt die Zeichen, die Attribute und die 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 Zeichenfolge 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 umzukonvertieren. |
|
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
Zeiger auf einen Puffer, der die Informationen enthält, die für die Kompositionszeichenfolge festgelegt werden sollen, wie durch den Wert von dwIndex angegeben.
[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
Zeiger auf einen Puffer, der die für die Lesezeichenfolge festzulegenden Informationen enthält, wie durch den Wert von dwIndex angegeben. 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 bei erfolgreicher Ausführung einen wert ungleichen Wert zurück, andernfalls 0.
Hinweise
Die Anwendung kann lpComp, lpRead oder beides festlegen. Wenn die Anwendung keinen Wert für lpComp angibt, muss sie diesen Parameter auf NULL festlegen und dwCompLen auf 0 festlegen.
Wenn die Anwendung Attribute ändert, müssen alle Zeichen in einer Klausel das gleiche Attribut aufweisen. Konvertierte Zeichen müssen über das Attribut ATTR_CONVERTED oder ATTR_TARGET_CONVERTED verfügen. Nicht konvertierte Zeichen müssen über das Attribut ATTR_INPUT oder ATTR_TARGET_NOTCONVERTED verfügen.
Wenn die Anwendung Klauselinformationen ändert, kann sie nur die Zielklausel ändern, was sich jeweils auf eine Grenze auswirkt. Die Target-Klausel verfügt über das Attribut ATTR_TARGET_CONVERTED oder ATTR_TARGET_NOTCONVERTED.
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 informieren.
Windows Me/98, Windows 2000, Windows XP: Die SCS_*CONVERTSTRING-Werte werden für die Reversion verwendet. Sie können nur für eine IME verwendet werden, die über die eigenschaft SCS_CAP_SETRECONVERTSTRING verfügt. Die Anwendung verwendet diese Werte wie folgt:
- Rufen Sie ImmSetCompositionString mit SCS_QUERYRECONVERTSTRING auf, damit IME die RECONVERTSTRING-Struktur für die Reversion anpasst.
- Rufen Sie ImmSetCompositionString mit SCS_SETRECONVERTSTRING auf, damit IME eine neue Kompositionszeichenfolge generiert. Danach geben lpComp und lpRead eine RECONVERTSTRING-Struktur an, die die aktualisierte Komposition und lese Zeichenfolge enthält. Verwenden Sie den Wert von lpRead nur, wenn für die ausgewählte IME SCS_CAP_MAKEREAD festgelegt ist.
Hinweis
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 nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps],Ostasiatische Sprachunterstützung installiert. |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | imm.h (include Immdev.h, Windows.h) |
Bibliothek | Imm32.lib |
DLL | Imm32.dll |