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
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 Zeichenfolge 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 umzukonvertieren.
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

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:

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

Weitere Informationen

Eingabemethoden-Manager

Funktionen des Eingabemethoden-Managers

RECONVERTSTRING

WM_IME_COMPOSITION