Share via


ITextServices::TxSendMessage-Methode (textserv.h)

Wird vom Fensterhost verwendet, um von seinem Fenster gesendete Nachrichten an das Textdienstobjekt weiterzuleiten.

Syntax

HRESULT TxSendMessage(
  UINT    msg,
  WPARAM  wparam,
  LPARAM  lparam,
  LRESULT *plresult
);

Parameter

msg

Typ: UINT

Der Meldungsbezeichner.

wparam

Typ: WPARAM

Der WPARAM aus der Meldung des Fensters.

lparam

Typ: LPARAM

Die LPARAM aus der Meldung des Fensters.

plresult

Typ: LRESULT*

Die Meldung gibt LRESULT zurück.

Rückgabewert

Typ: HRESULT

Wenn die Methode erfolgreich ist, wird der Rückgabewert S_OK.

Wenn die Methode fehlschlägt, ist der Rückgabewert einer der folgenden HRESULT-Codes . Weitere Informationen zu COM-Fehlercodes finden Sie unter Fehlerbehandlung in COM.

Rückgabecode Beschreibung
E_OUTOFMEMORY
Nicht genügend Arbeitsspeicher. Die NOERROR-Nachricht wurde verarbeitet, und es wurde eine Aktion ausgeführt.
S_FALSE
Die Nachricht wurde nicht verarbeitet. Gibt in der Regel an, dass der Aufrufer die Nachricht selbst verarbeiten soll, möglicherweise durch Aufrufen von DefWindowProc.
S_MSG_KEYIGNORED
Die Nachricht wurde verarbeitet, aber es wurde keine Aktion für die Tastatureingabe ausgeführt.

Hinweise

Beachten Sie, dass zwei Rückgabewerte von dieser Funktion zurückgegeben werden. Der Rückgabewert, der von einer Fensterprozedur zurückgegeben werden soll, ist plresult. In einigen Fällen enthält das zurückgegebene LRESULT jedoch nicht genügend Informationen. Um beispielsweise das Verschieben des Cursors um Steuerelemente zu implementieren, ist es hilfreich zu wissen, ob eine Tastatureingabe (z. B. nach rechts) verarbeitet, aber ignoriert wurde (z. B. befindet sich das Caretzeichen bereits an der äußersten rechten Position im Text). In diesen Fällen können weitere Informationen über das zurückgegebene HRESULT zurückgegeben werden.

WM_CHAR und WM_KEYDOWN sollten den Wert zurückgeben, der S_MSG_KEYIGNORED, wenn ein Schlüssel oder Zeichen erkannt wird, aber angesichts des aktuellen Zustands keine Auswirkung hat. In den folgenden Fällen sollte beispielsweise S_MSG_KEYIGNORED zurückgegeben werden:

  • Jede Tastatureingabe, die versucht, die Einfügemarke an den Anfang oder das Ende des Dokuments zu verschieben; , wenn sie sich bereits am Anfang bzw. Am Ende des Dokuments befindet.
  • Jede Tastatureingabe, die versucht, die Einfügemarke in die oder hinter der nächsten Zeile zu verschieben, wenn sie sich bereits in der letzten Zeile befindet; oder in oder vor der vorherigen Zeile, wenn sie sich bereits in der ersten Zeile befindet.
  • Jede Einfügung des Zeichens aus WM_CHAR , die die Einfügemarke über die maximale Länge des Steuerelements verschieben würde.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile textserv.h
DLL Msftedit.dll

Siehe auch

Konzept

DefWindowProc

ITextServices

Andere Ressourcen

WM_CHAR

WM_KEYDOWN

Fensterlose Rich-Edit-Steuerelemente