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.
 
Hinweis Die EN_MSGFILTER wird nicht an TxNotify gesendet. Verwenden Sie zum Filtern von Fenstermeldungen TxSendMessage.
 

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

EM_SETEVENTMASK

EN_CHANGE

EN_DROPFILES

EN_ERRSPACE

EN_HSCROLL

EN_KILLFOCUS

EN_LINK

EN_MAXTEXT

EN_OLEOPFAILED

EN_PROTECTED

EN_REQUESTRESIZE

EN_SAVECLIPBOARD

EN_SELCHANGE

EN_SETFOCUS

EN_STOPNOUNDO

EN_UPDATE

EN_VSCROLL

ITextHost

Referenz

Fensterlose Rich-Edit-Steuerelemente