ITextHost::TxNotify-Methode (textserv.h)
Benachrichtigt den Texthost über verschiedene Ereignisse.
Syntax
HRESULT TxNotify(
[in] DWORD iNotify,
[in] void *pv
);
Parameter
[in] iNotify
Typ: DWORD
Ereignis, von dem der Host benachrichtigt werden soll. Einer der EN_ Benachrichtigungscodes.
[in] pv
Typ: void*
Zusätzliche Daten, abhängig von iNotify.
Rückgabewert
Typ: HRESULT
Gibt S_OK zurück, wenn die Methode erfolgreich ist.
Gibt S_FALSE zurück, wenn die Methode fehlschlägt. Weitere Informationen zu COM-Fehlercodes finden Sie unter Fehlerbehandlung in COM.
Hinweise
Beachten Sie, dass es zwei grundlegende Kategorien von Ereignissen gibt: direkte und verzögerte Ereignisse. Direkte Ereignisse werden sofort gesendet, da sie verarbeitet werden müssen, z. B. EN_PROTECTED. Verzögerte Ereignisse werden gesendet, nachdem die gesamte Verarbeitung erfolgt ist; das Steuerelement befindet sich somit in einem stabilen Zustand. Beispiele für verzögerte Benachrichtigungen sind EN_CHANGE, EN_ERRSPACE und EN_SELCHANGE.
Die Benachrichtigungsereignisse sind identisch mit den Benachrichtigungscodes, die an das übergeordnete Fenster eines umfangreichen Bearbeitungsfensters gesendet werden. Das Auslösen von Ereignissen kann mit einer Maske gesteuert werden, die über die EM_SETEVENTMASK Nachricht festgelegt wird.
Im Allgemeinen ist es zulässig, bei der Verarbeitung dieser Methode Aufrufe an das Textdienstobjekt zu tätigen. Implementierer werden jedoch darauf hingewiesen, übermäßige Rekursionen zu vermeiden.
Im Folgenden finden Sie eine Liste der Benachrichtigungen, die gesendet werden können.
Benachrichtigung | Bedeutung |
---|---|
EN_CHANGE | Wird gesendet, nachdem das System den Bildschirm aktualisiert hat, wenn der Benutzer eine Aktion ausführt, die den Text im Steuerelement möglicherweise geändert hat. |
EN_DROPFILES | Wird gesendet, wenn entweder eine WM_DROPFILES-Nachricht oder eine IDropTarget::D ragEnter-Benachrichtigung empfangen wird. |
EN_ERRSPACE | Wird gesendet, wenn ein Steuerelement nicht genügend Arbeitsspeicher zuweisen kann, um eine angegebene Anforderung zu erfüllen. |
EN_HSCROLL | Wird gesendet, wenn der Benutzer auf die horizontale Bildlaufleiste des Steuerelements klickt, bevor der Bildschirm aktualisiert wird. |
EN_KILLFOCUS | Wird gesendet, wenn das Steuerelement den Tastaturfokus verliert. |
EN_LINK | Wird gesendet, wenn ein Rich-Edit-Steuerelement verschiedene Nachrichten empfängt, z. B. Mausklicknachrichten, wenn sich der Mauszeiger über Text befindet, der den CFE_LINK Effekt hat. |
EN_MAXTEXT | Wird gesendet, wenn die aktuelle Texteinfügung die maximale Anzahl von Zeichen für das Steuerelement überschritten hat. |
EN_OLEOPFAILED | Wird gesendet, wenn eine Benutzeraktion für ein OLE-Objekt fehlgeschlagen ist. |
EN_PROTECTED | Wird gesendet, wenn der Benutzer eine Aktion ausführt, die den geschützten Textbereich ändert. |
EN_REQUESTRESIZE | Wird gesendet, wenn sich der Inhalt eines umfangreichen Bearbeitungssteuerelements von der Fenstergröße des Steuerelements unterscheidet. |
EN_SAVECLIPBOARD | Wird gesendet, wenn ein Bearbeitungssteuerelement zerstört wird. Der Texthost sollte angeben, ob OleFlushClipboard aufgerufen werden soll. Daten, die die Anzahl der zu leerenden Zeichen und Objekte angeben, werden in der ENSAVECLIPBOARD-Datenstruktur gesendet. Maskenwert ist nichts. |
EN_SELCHANGE | Wird gesendet, wenn sich die aktuelle Auswahl geändert hat. Außerdem wird eine SELCHANGE-Datenstruktur gesendet, die den neuen Auswahlbereich bei dem Datentyp angibt, über den die Auswahl derzeit abgelaufen ist. Gesteuert über die ENM_SELCHANGE-Maske . |
EN_SETFOCUS | Wird gesendet, wenn das Bearbeitungssteuerelement den Tastaturfokus erhält. Es werden keine zusätzlichen Daten gesendet. es gibt keine Maske. |
EN_STOPNOUNDO | Wird gesendet, wenn eine Aktion auftritt, für die das Steuerelement nicht genügend Arbeitsspeicher zuweisen kann, um den Rückgängig-Zustand beizubehalten. Wenn S_FALSE zurückgegeben wird, wird die Aktion beendet. Andernfalls wird die Aktion fortgesetzt. |
EN_UPDATE | Wird gesendet, bevor ein Bearbeitungssteuerelement eine Neufassung von geänderten Daten oder Text anfordert. Es werden keine zusätzlichen Daten gesendet. Dieses Ereignis wird über die ENM_UPDATE-Maske gesteuert. Rich Edit 2.0 und höher: Die ENM_UPDATE-Maske wird ignoriert, und der EN_UPDATE-Benachrichtigungscode wird immer gesendet. Wenn Microsoft Rich Edit 3.0 jedoch Microsoft Rich Edit 1.0 emuliert, steuert die ENM_UPDATE-Maske diese Benachrichtigung. |
EN_VSCROLL | Wird gesendet, wenn der Benutzer auf die vertikale Bildlaufleiste eines Bearbeitungssteuerelements klickt oder wenn der Benutzer mit dem Mausrad über das Bearbeitungssteuerelement scrollt, bevor der Bildschirm aktualisiert wird. Dies wird durch die ENM_SCROLL-Maske gesteuert; es werden keine zusätzlichen Daten gesendet. |
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
Referenz