Freigeben über


IMESTRUCT-Struktur (ime.h)

Wird von SendIMEMessageEx verwendet, um die in der IME-Nachricht (Input Method Editor) auszuführende Unterfunktion und die zugehörigen Parameter anzugeben. Diese Struktur wird auch verwendet, um Rückgabewerte von diesen Unterfunktionen zu empfangen.

Syntax

typedef struct tagIMESTRUCT {
  UINT   fnc;
  WPARAM wParam;
  UINT   wCount;
  UINT   dchSource;
  UINT   dchDest;
  LPARAM lParam1;
  LPARAM lParam2;
  LPARAM lParam3;
} IMESTRUCT, *PIMESTRUCT, *NPIMESTRUCT, *LPIMESTRUCT;

Member

fnc

Eine Unterfunktion. Einer der folgenden Werte.

IME_ENTERWORDREGISTERMODE

Wird zum Registrieren von Wörtern verwendet. Wörter werden registriert, als eine Anwendung ein Wort und dessen Lesevorgang sendet. Strukturmember werden wie folgt interpretiert:

Member Typ BESCHREIBUNG
lParam1 [Windows 3.1] LPARAM Das Wort mit niedriger Reihenfolge gibt ein Handle für den globalen Arbeitsspeicher an, das eine Wortzeichenfolge enthält, die auf 0 endet. Der globale Arbeitsspeicher ist ein Speicherblock, der durch Angabe der GMEM_MOVEABLE - und GMEM_SHARE-Flags in der GlobalAlloc-Funktion zugewiesen wird.
lParam2 [Windows 3.1] LPARAM Das Wort mit niedriger Reihenfolge gibt ein Handle für den globalen Arbeitsspeicher an, das eine Lesezeichenfolge enthält, die auf 0 endet. Der globale Arbeitsspeicher ist ein Speicherblock, der durch Angabe der GMEM_MOVEABLE - und GMEM_SHARE-Flags in der GlobalAlloc-Funktion zugewiesen wird.
lParam3 [Windows 3.1] LPARAM Muss NULL sein.
lParam1 [Windows NT] LPARAM Gibt ein Handle für den globalen Arbeitsspeicher an, das eine Wortzeichenfolge enthält, die auf 0 endet. Der globale Arbeitsspeicher ist ein Speicherblock, der durch Angabe der GMEM_MOVEABLE - und GMEM_SHARE-Flags in der GlobalAlloc-Funktion zugewiesen wird.
lParam2 [Windows NT] LPARAM Gibt ein Handle für den globalen Arbeitsspeicher an, das eine Lesezeichenfolge enthält, die auf 0 endet. Der globale Arbeitsspeicher ist ein Speicherblock, der durch Angabe der GMEM_MOVEABLE - und GMEM_SHARE-Flags in der GlobalAlloc-Funktion zugewiesen wird.
lParam3 [Windows NT] LPARAM Wird verwendet, um Informationen zu einem Teil der Sprache anzugeben. Da solche Informationen mit der aktuellen Windows-Spezifikation nicht angegeben werden können, wird hier NULL festgelegt.
 

Der Rückgabewert gibt das Ergebnis der Wortregistrierung an. TRUE , wenn die Registrierung normal verarbeitet wurde; andernfalls FALSE.

Wenn Informationen wie ein Teil der Sprache erforderlich sind, sollte ein Dialogfeld angezeigt werden, um den Benutzer zur Eingabe aufzufordern. NULL kann in den Membern lParam1 und lParam2 angegeben werden. in diesem Fall sollte nichts im zugeordneten Eingabefeld im Dialogfeld angezeigt werden.

IME_GETCONVERSIONMODE

Ruft den aktuellen Konvertierungsmodus der IME ab. Dieses Unterprogramm verwendet keine Parameter.

Dies ist identisch mit IME_GET_MODE.

Gibt den aktuellen Konvertierungsmodus des IME als Kombination aus IME_MODE_ALPHANUMERIC zu IME_MODE_NOCODEINPUT zurück. Die Konvertierungsmodi sind wie folgt:

Konvertierungsmodus Mode
IME_MODE_ALPHANUMERIC Alphanumerisch
IME_MODE_KATAKANA Katakana
IME_MODE_HIRAGANA Hiragana
IME_MODE_SBCSCHAR Einzelbytezeichen
IME_MODE_DBCSCHAR Double-Byte-Zeichen
IME_MODE_ROMAN Römisches Zeichen
IME_MODE_NOROMAN Nicht römisches Zeichen
IME_MODE_CODEINPUT Codeeingabe
IME_MODE_NOCODEINPUT Nicht-Code-Eingabe
 

IME_GET_MODE

Identisch mit IME_GETCONVERSIONMODE.

IME_MOVECONVERTWINDOW

Identisch mit IME_SETCONVERSIONWINDOW.

IME_SETCONVERSIONFONTEX

Eine Schriftart, die verwendet werden soll, um eine unbestimmte Zeichenfolge anzuzeigen, die im Konvertierungsfenster angezeigt wird. Strukturmember werden wie folgt interpretiert:

Member Typ BESCHREIBUNG
lParam1 [Windows 3.1] LPARAM Das Wort mit niedriger Reihenfolge gibt ein Handle für den globalen Arbeitsspeicher an, das eine LOGFONT-Struktur enthält, die die logische Schriftart angibt. Der globale Arbeitsspeicher ist ein Speicherblock, der durch Angabe der GMEM_MOVEABLE - und GMEM_SHARE-Flags in der GlobalAlloc-Funktion zugewiesen wird. NULL gibt eine Systemschriftart an.
lParam1 [Windows NT] LPARAM Gibt ein Handle für den globalen Arbeitsspeicher an, das eine LOGFONT-Struktur enthält, die die logische Schriftart angibt. Der globale Arbeitsspeicher ist ein Speicherblock, der durch Angabe der GMEM_MOVEABLE - und GMEM_SHARE-Flags in der GlobalAlloc-Funktion zugewiesen wird. NULL gibt eine Systemschriftart an.
 

Diese Unterfunktion hat keinen Rückgabewert.

Die von IME_SETCONVERSIONFONTEX angegebene Schriftart kann nur verwendet werden, um unbestimmte Zeichenfolgen anzuzeigen.

Verwenden Sie eine Systemschriftart, um nicht festgelegte Zeichenfolgen an der Standardposition anzuzeigen. Wenn die Anzeigeposition nicht mehr die Standardposition ist, aktivieren Sie die zuvor angegebene Schriftart.

Der globale Arbeitsspeicher, der die LOGFONT-Struktur enthält, wird von der Anwendung freigegeben.

Wenn der IME, der derzeit das Konvertierungsfenster anzeigt, den Befehl IME_SETCONVERSIONFONTEX empfängt und sich das Konvertierungsfenster durch den Befehl geändert hat, sollte die IME eine WM_IME_REPORT:IR_CHANGECONVERT-Nachricht senden. Diese Nachricht sollte nicht gesendet werden, wenn die von IME_SETCONVERSIONFONTEX angegebene Schriftart mit der schriftart identisch ist, die vom IME verwendet wird.

IME_SETCONVERSIONMODE

Legt den Konvertierungsmodus der IME fest. Das wParam-Element gibt mindestens einen der folgenden Werte an:

Wert Bedeutung
IME_MODE_ALPHANUMERIC Alphanumerischer Konvertierungsmodus. Dieser Wert kann nicht mit IME_MODE_KATAKANA oder IME_MODE_HIRAGANA verwendet werden.
IME_MODE_KATAKANA Katakana-Konvertierungsmodus. Dieser Wert kann nicht mit IME_MODE_ALPHANUMERIC oder IME_MODE_HIRAGANA verwendet werden.
IME_MODE_HIRAGANA Hiragana-Konvertierungsmodus. Dieser Wert kann nicht mit IME_MODE_ALPHANUMERIC oder IME_MODE_HIRAGANA verwendet werden.
IME_MODE_SBCSCHAR Ein-Byte-Zeichenkonvertierungsmodus. Dieser Parameter kann nicht mit IME_MODE_DBCSCHAR verwendet werden.
IME_MODE_DBCSCHAR Doppelbyte-Zeichenkonvertierungsmodus. Dieser Parameter kann nicht mit IME_MODE_SBCSCHAR verwendet werden.
IME_MODE_ROMAN Konvertierungsmodus für römische Zeichen. Dieser Parameter kann nicht mit IME_MODE_NOROMAN verwendet werden.
IME_MODE_NOROMAN Nicht römischer Zeichenkonvertierungsmodus. Dieser Parameter kann nicht mit IME_MODE_ROMAN verwendet werden.
IME_MODE_CODEINPUT Codeeingabekonvertierungsmodus. Dieser Parameter kann nicht mit IME_MODE_NOCODEINPUT verwendet werden. Wie ein IME im Codeeingabemodus funktioniert, hängt von der jeweiligen IME ab.
IME_MODE_NOCODEINPUT Nicht codierter Eingabekonvertierungsmodus. Dieser Parameter kann nicht mit IME_MODE_CODEINPUT verwendet werden.
 

Der Rückgabewert gibt an, ob der angegebene Konvertierungsmodus erfolgreich eingerichtet wurde. Es gibt den Zustand des Konvertierungsmodus zurück, der zuvor in Kraft war, wenn der neue Konvertierungsmodus eingerichtet wurde. andernfalls NULL.

IME_SETCONVERSIONWINDOW

Die Größe und Position des umgebenden Rechtecks für die IME sowie die Anfangsposition des Konvertierungsfensters. Die IME zeigt eine unbestimmte Zeichenfolge an der von dieser Unterfunktion angegebenen Position an.

Das wParam-Element gibt einen der folgenden Werte an:

Wert Bedeutung
MCW_DEFAULT Zeigt das Konvertierungsfenster an der Standardposition an, die sich normalerweise am unteren Rand des Bildschirms befindet.

Wenn die MCW_DEFAULT-Formatvorlage in einer IME_SETCONVERSIONWINDOW-Nachricht angegeben wird, darf der IME beim Anzeigen oder Zeichnet eines Konvertierungsfensters an der Standardposition keine IR_OPENCONVERT-, IR_CHANGECONVERT-, IR_FULLCONVERT- oder IR_CLOSECONVERT-Nachricht senden.

MCW_WINDOW Zeigt das Konvertierungsfenster an der Im lParam1-Element angegebenen Koordinate im Fenster an, das im wParam-Parameter der WM_CONVERTREQUEST- oder WM_CONVERTREQUESTEX-Nachricht angegeben ist. Der Wert in lParam1 gibt die Koordinaten relativ zur oberen linken Ecke des Fensters an, wobei das Wort mit niedriger Ordnung die X-Koordinate und das Wort mit hoher Ordnung die Y-Koordinate darstellt. Das umgebende Rechteck ist das Clientrechteck des angegebenen Fensters und die typischste Methode zum Aufrufen einer Kana-zu-Kanji-Konvertierung.

Wenn die MCW_WINDOW In einer IME_SETCONVERSIONWINDOW-Nachricht angegeben wird, muss die IME eine IR_OPENCOVERT Nachricht senden, wenn das Konvertierungsfenster status von geschlossen in geöffnet geändert wurde. Wenn das Konvertierungsfenster status von geöffnet in geschlossen geändert wurde, muss die IME eine IR_CLOSECONVERT Nachricht senden. Es gibt jedoch eine Ausnahme. Weitere Informationen finden Sie unter IME_WINDOWUPDATE.

MCW_WINDOW | MCW_RECT Identisch mit MCW_WINDOW außer, dass das umgebende Rechteck durch die Elemente lParam2 und lParam3 angegeben wird. Das lParam2-Element gibt den oberen linken Punkt an, und lParam3 gibt den unteren rechten Punkt an, wobei jeweils das Wort mit niedriger Ordnung die X-Koordinate und das Wort mit hoher Ordnung die Y-Koordinate darstellt. Die Koordinaten sind relativ zur oberen linken Seite des Fensters.
MCW_SCREEN Zeigt das Konvertierungsfenster mit der linken oberen Ecke an, die vom lParam1-Element festgelegt ist. Das Element lParam1 gibt absolute Koordinaten mit dem Ursprung in der oberen linken Ecke des Bildschirms an. Das Wort mit niedriger Ordnung stellt die X-Koordinate und das Wort mit hoher Ordnung die Y-Koordinate dar. Das umgebende Rechteck ist der Vollbildmodus.

Wenn die MCW_SCREEN In einer IME_SETCONVERSIONWINDOW-Nachricht angegeben wird, muss der IME eine IR_OPENCOVERT Nachricht senden, wenn das Konvertierungsfenster status von geschlossen in geöffnet geändert wurde. Wenn das Konvertierungsfenster status von geöffnet in geschlossen geändert wurde, muss die IME eine IR_CLOSECONVERT Nachricht senden. Es gibt jedoch eine Ausnahme. Weitere Informationen finden Sie unter IME_WINDOWUPDATE.

MCW_SCREEN | MCW_RECT Identisch mit MCW_SCREEN mit der Ausnahme, dass das umgebende Rechteck durch die Elemente lParam2 und lParam3 angegeben wird. Das lParam2-Element gibt den oberen linken Punkt an, und lParam3 gibt den unteren rechten Punkt an, wobei jeweils das Wort mit niedriger Ordnung die X-Koordinate und das Wort mit hoher Ordnung die Y-Koordinate darstellt. Die Koordinaten sind absolute Koordinaten mit dem Ursprung oben links auf dem Bildschirm.
MCW_HIDDEN [Windows 3.1] Wenn dieses Flag angegeben wird, zeigt die IME das Konvertierungsfenster nicht an. Stattdessen zeigt die Anwendung selbst unbestimmte Zeichenfolgen an. Das lParam1-Element gibt die Koordinaten der Cursorposition an, die von der Anwendung oder dem Sehenswürdigkeit angezeigt wird. Die Elemente lParam2 und lParam3 geben eine Region an, in der keine Anzeige durch die IME aktiviert wird. Eine IME, die bestimmt Zeichenfolgenkandidaten in einem Popupfenster anzeigt, kann diese Informationen verwenden, um zu bestimmen, wo das Fenster der Kandidaten für bestimmte Zeichenfolgen angezeigt werden soll. Ein Fenster zum Anzeigen von Kandidatenzeichenfolgen wird als Systemfenster betrachtet. Daher ist es IME-abhängig, ob ein solches Fenster angezeigt werden soll, wo und wie das Fenster angezeigt werden soll und welche Tastatureingabe verwendet werden soll. Die drei Elemente lParam1, lParam2 und lParam3 geben die absoluten Koordinaten oben links auf dem Bildschirm an, wobei jeweils das Wort mit niedriger Ordnung die X-Koordinate und das Wort mit hoher Ordnung die Y-Koordinate darstellt.

Wenn das flag MCW_HIDDEN angegeben wird, sendet der IME eine IR_UNDETERMINE-Nachricht, um anzufordern, dass die Anwendung die nicht festgelegte Zeichenfolge anzeigt. Die Anwendung selbst zeigt die unbestimmte Zeichenfolge an, die in dieser Nachricht enthalten ist.

Nachdem das MCW_HIDDEN-Flag angegeben wurde, sendet die IME keine IR_OPENCONVERT, IR_CHANGECONVERT oder IR_CLOSECONVERT Nachricht.

Wenn eine Anwendung MCW_HIDDEN angibt und gleichzeitig ein Rechteck anfordert, das zu groß ist, um das Kandidatenfenster für eine bestimmte Zeichenfolge anzuzeigen, sollte dies als Fehler behandelt werden. Der Fehlercode muss IME_RD_TOOLONG werden.

Wenn die MCW_HIDDEN-Formatart in einer IME_SETCONVERSIONWINDOW-Nachricht angegeben wird, darf der IME niemals ein IR_OPENCONVERT, IR_CHANGECONVERT, IR_FULLCONVERT oder IR_CLOSECONVERT senden.

MCW_VERTICAL Teilt dem IME mit, dass die Anwendung Zeichenfolgen im vertikalen Schreibformat anzeigt. Wenn dieses Flag angegeben wird, wird das Konvertierungsfenster für vertikales Schreiben angezeigt, wobei die vom lParam1-Element angegebene Position die obere rechte Ecke ist. Dieses Flag kann mit MCW_WINDOW angegeben werden, MCW_WINDOW|MCW_RECT, MCW_SCREEN oder MCW_SCREEN|MCW_RECT. Ein IME muss MCW_VERTICAL unterstützen. Wenn MCW_VERTICAL angegeben ist und die ausgewählte Schriftart nicht zum vertikalen Schreiben bestimmt ist, verwendet der IME die standardmäßige vertikale Schriftart. Diese Standardschriftart wird wie folgt erstellt:
  1. Schriftartinformationen werden in der LOGFONT-Struktur von der GetObject-Funktion mithilfe des Schriftarthandles von SYSTEM_FONT abgerufen.
  2. Die Schriftart wird erstellt, indem am Anfang des Gesichtsnamens ein Ampersand (@) hinzugefügt wird und die Escape und Ausrichtung auf 270 Grad festgelegt wird.
 

Der Rückgabewert gibt an, ob der Befehl ausgeführt wurde. TRUE , wenn die Befehlsausführung erfolgreich war; andernfalls FALSE.

Wenn eine nicht festgelegte Zeichenfolge das umgebende Rechteck zu überlaufen scheint, muss der IME die Berichtsnachricht WM_IME_REPORT:IR_FULLCONVERT an die Anwendung ausgeben, bevor diese Zeichenfolge angezeigt wird. Wenn die Anwendung diese Meldung nicht verarbeitet, wird die nachfolgende Verarbeitung für die Anzeige nicht in dieser Spezifikation formuliert, sondern der IME überlassen. Beispielsweise kann die unbestimmte Zeichenfolge innerhalb des umgebenden Rechtecks gescrollt oder vorübergehend an die Standardposition verschoben werden.

Wenn eine IME_SETCONVERSIONWINDOW Nachricht aufgerufen wird, wenn die IME eine unbestimmte Zeichenfolge enthält, sollte die IME eine WM_IME_REPORT:IR_CLOSECONVERT-Nachricht ausgeben. wenn die Zeichenfolge in das als Parameter angegebene Fenster passt, sollte die IME eine WM_IME_REPORT:IR_OPENCONVERT-Nachricht ausgeben. Erst dann sollte das Konvertierungsfenster gezeichnet werden. Wenn die Zeichenfolge nicht in das Fenster passt, sollte die IME eine WM_IME_REPORT:IR_FULLCONVERT-Meldung ausgeben.

Die Position des umgebenden Rechtecks kann außerhalb des physischen Bildschirmbereichs angegeben werden. Wenn sich das gesamte umgebende Rechteck außerhalb des physischen Bildschirms befindet, dürfen nicht festgelegte Zeichenfolgen nicht angezeigt werden. Wenn sich ein Teil des umgebenden Rechtecks außerhalb des physischen Bildschirms befindet, klammert die IME das umgebende Rechteck so ab, dass kein Teil der nicht bestimmten Zeichenfolge den Bildschirm überläuft, und passt auch die Startposition der Anzeige an.

Es wird empfohlen, die maximale Anzahl von Zeilen oder die maximale Anzahl von Zeichen, die im Konvertierungsfenster angezeigt werden, nicht festzulegen.

Wenn das Konvertierungsfenster ein Systemfenster überschneidet, muss das Konvertierungsfenster sichtbar sein. Beispielsweise kann das Konvertierungsfenster für die Anzeige oberste Priorität erhalten oder das Systemfenster an eine andere Stelle verschoben werden.

Die IME muss eine IR_CHANGECONVERT Nachricht senden, wenn sich das Konvertierungsfenster in Größe, Anzeigeinhalt oder Anzeigefarbe geändert hat. Wenn jedoch eine unbestimmte Zeichenfolge nicht in ein angegebenes Fenster passt, muss der IME eine IR_FULLCONVERT Nachricht senden, anstatt IR_CHANGECONVERT.

Wenn die IME aus dem MCW_WINDOW- oder MCW_SCREEN-Modus in MCW_DEFAULT verschoben wurde, muss sie eine IR_CLOSECONVERT Nachricht senden, wenn eine unbestimmte Zeichenfolge vorhanden ist.

Wenn die IME vom MCW_WINDOW- oder MCW_SCREEN-Modus in MCW_HIDDEN verschoben wurde, muss sie eine IR_CLOSECONVERT Nachricht senden, wenn eine unbestimmte Zeichenfolge vorhanden ist.

Wenn die IME vom MCW_HIDDEN Modus in MCW_DEFAULT, MCW_SCREEN oder MCW_WINDOW verschoben wurde, muss die IME eine IR_UNDETERMINE Nachricht mit nicht festgelegter Zeichenfolge = 0 und ermittelter Zeichenfolge = 0 übertragen.

IME_SETLEVEL

Koreanisch-spezifische Unterfunktion, die die IME-Ebene für die aktuelle Anwendung festlegt. Das wParam-Element akzeptiert einen der folgenden Ebenenwerte.

Ebene Bedeutung
1 Keine IME-Unterstützung. Alle IME-spezifischen Nachrichten werden ignoriert.
2 Teilweise IME-Unterstützung. Unterstützt eine Teilmenge des IME-Verhaltens, einschließlich der Position der Kompositions- oder Kandidatenfenster und des Eingabemodus oder status.
3 Vollständige IME-Unterstützung.
 

IME_SETOPEN

Legt die status des Kana-in-kanji-Konvertierungsfeatures des IME fest.

Das wParam-Element ist auf nonzero festgelegt, um die IME zu öffnen, und null, um die IME zu schließen.

Der Rückgabewert gibt den vorherigen status des Konvertierungsfeatures kana-in-kanji an. Gibt TRUE zurück, wenn geöffnet; andernfalls FALSE.

Eine nicht festgelegte Zeichenfolge darf nicht bestimmt werden, wenn das Kana-in-Kanji-Konvertierungsfeature von IME_SETOPEN geschlossen wurde.

Wenn die Kana-zu-Kanji-Konvertierungsfunktion von IME_SETOPEN geschlossen werden soll, muss die IME eine IR_CLOSECONVERT-Nachricht senden, wenn sich die IME im MCW_WINDOW- oder MCW-SCREEN-Modus befindet und ein Konvertierungsfenster geöffnet ist. Der IME muss jedoch keine IR_CLOSECONVERT ausstellen, wenn er sich im MCW_HIDDEN Modus befindet und eine unbestimmte Zeichenfolge vorhanden ist.

IME_SET_MODEK

Koreanisch-spezifische Version von IME_SETCONVERSIONMODE.

wParam

Die Nutzung hängt von der in fnc angegebenen Unterfunktion ab.

wCount

Die Nutzung hängt von der in fnc angegebenen Unterfunktion ab.

dchSource

Die Nutzung hängt von der in fnc angegebenen Unterfunktion ab.

dchDest

Die Nutzung hängt von der in fnc angegebenen Unterfunktion ab.

lParam1

Die Nutzung hängt von der in fnc angegebenen Unterfunktion ab.

lParam2

Die Nutzung hängt von der in fnc angegebenen Unterfunktion ab.

lParam3

Die Nutzung hängt von der in fnc angegebenen Unterfunktion ab.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile ime.h

Weitere Informationen

Zwischenablage

Konzept

Referenz

SetClipboardData