Freigeben über


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
SCS_SETSTR
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.
SCS_CHANGEATTR
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.
SCS_CHANGECLAUSE
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.
SCS_SETRECONVERTSTRING
Windows Me/98, Windows 2000, Windows XP: Bitten Sie IME, die Zeichenfolge mithilfe einer angegebenen RECONVERTSTRING Struktur neu zu konvertieren.
SCS_QUERYRECONVERTSTRING
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:

  1. Rufen Sie ImmSetCompositionString- mit SCS_QUERYRECONVERTSTRING auf, sodass IME die RECONVERTSTRING- Struktur für die Neukonvertierung anpasst.
  2. 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

Siehe auch

Eingabemethoden-Manager

Funktionen des Eingabemethoden-Managers

RECONVERTSTRING-

WM_IME_COMPOSITION