Metodo ITextHost::TxNotify (textserv.h)
Notifica all'host di testo di vari eventi.
Sintassi
HRESULT TxNotify(
[in] DWORD iNotify,
[in] void *pv
);
Parametri
[in] iNotify
Tipo: DWORD
Evento da notificare all'host. Uno dei codici di notifica EN_ .
[in] pv
Tipo: void*
Dati aggiuntivi, dipendenti da iNotify.
Valore restituito
Tipo: HRESULT
Restituisce S_OK se il metodo ha esito positivo.
Restituisce S_FALSE se il metodo ha esito negativo. Per altre informazioni sui codici di errore COM, vedere Gestione degli errori in COM.
Commenti
Si noti che sono presenti due categorie di base di eventi, diretta e ritardata . Gli eventi diretti vengono inviati immediatamente perché necessitano di un'elaborazione, ad esempio EN_PROTECTED. Gli eventi ritardati vengono inviati dopo che si è verificata tutta l'elaborazione; il controllo è quindi in uno stato stabile. Esempi di notifiche ritardate sono EN_CHANGE, EN_ERRSPACE e EN_SELCHANGE.
Gli eventi di notifica sono uguali ai codici di notifica inviati alla finestra padre di una finestra di modifica avanzata. L'attivazione di eventi può essere controllata con una maschera impostata tramite il messaggio di EM_SETEVENTMASK .
In generale, è legale effettuare chiamate all'oggetto servizi di testo durante l'elaborazione di questo metodo; tuttavia, gli implementatori sono avvisati di evitare ricorsioni eccessive.
Di seguito è riportato un elenco delle notifiche che possono essere inviate.
Notifica | Significato |
---|---|
EN_CHANGE | Inviato dopo che il sistema aggiorna la schermata, quando l'utente esegue un'azione che potrebbe aver modificato il testo nel controllo. |
EN_DROPFILES | Inviato quando viene ricevuta una notifica di WM_DROPFILES o IDropTarget::D ragEnter . |
EN_ERRSPACE | Inviato quando un controllo non può allocare memoria sufficiente per soddisfare una richiesta specificata. |
EN_HSCROLL | Inviato quando l'utente fa clic sulla barra di scorrimento orizzontale del controllo prima dell'aggiornamento dello schermo. |
EN_KILLFOCUS | Inviato quando il controllo perde lo stato attivo della tastiera. |
EN_LINK | Inviato quando un controllo di modifica avanzato riceve vari messaggi, ad esempio i messaggi di clic del mouse, quando il puntatore del mouse è sul testo che ha l'effetto CFE_LINK. |
EN_MAXTEXT | Inviato quando l'inserimento del testo corrente ha superato il numero massimo di caratteri per il controllo. |
EN_OLEOPFAILED | Inviato quando un'azione dell'utente in un oggetto OLE non è riuscita. |
EN_PROTECTED | Inviato quando l'utente esegue un'azione che modifica l'intervallo protetto di testo. |
EN_REQUESTRESIZE | Inviato quando il contenuto di un controllo di modifica avanzato è diverso dalle dimensioni della finestra del controllo. |
EN_SAVECLIPBOARD | Inviato quando viene eliminato un controllo di modifica. L'host di testo deve indicare se è necessario chiamare OleFlushClipboard . I dati che indicano il numero di caratteri e oggetti da scaricare vengono inviati nella struttura di dati ENSAVECLIPBOARD . Il valore mask non è niente. |
EN_SELCHANGE | Inviato quando la selezione corrente è stata modificata. Viene inviata anche una struttura di dati SELCHANGE , che indica che il nuovo intervallo di selezione al tipo di dati che la selezione è attualmente in corso. Controllato attraverso la maschera di ENM_SELCHANGE . |
EN_SETFOCUS | Inviato quando il controllo di modifica riceve lo stato attivo della tastiera. Non vengono inviati dati aggiuntivi; non c'è maschera. |
EN_STOPNOUNDO | Inviato quando si verifica un'azione per cui il controllo non può allocare memoria sufficiente per mantenere lo stato di annullamento. Se S_FALSE viene restituito, l'azione verrà arrestata; in caso contrario, l'azione continuerà. |
EN_UPDATE | Inviato prima che un controllo di modifica richieda un ridisegno di dati o testo modificati. Non vengono inviati dati aggiuntivi. Questo evento viene controllato tramite la maschera di ENM_UPDATE . Modifica avanzata 2.0 e versioni successive: La maschera ENM_UPDATE viene ignorata e viene sempre inviato il codice di notifica EN_UPDATE . Tuttavia, quando Microsoft Rich Edit 3.0 emula Microsoft Rich Edit 1.0, la maschera di ENM_UPDATE controlla questa notifica. |
EN_VSCROLL | Inviato quando l'utente fa clic sulla barra di scorrimento verticale di un controllo di modifica o quando l'utente scorre la rotellina del mouse sul controllo di modifica, prima che venga aggiornata la schermata. Questa operazione viene controllata attraverso la maschera ENM_SCROLL ; non vengono inviati dati aggiuntivi. |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | textserv.h |
DLL | Msftedit.dll |
Vedi anche
Informazioni concettuali
Riferimento