Condividi tramite


Come interagire con la selezione corrente

L'utente può selezionare il testo in un controllo rich edit usando il mouse o la tastiera. La selezione corrente è l'intervallo di caratteri selezionati o la posizione del punto di inserimento se non sono selezionati caratteri. Un'applicazione può ottenere informazioni sulla selezione corrente, impostarla, determinare quando cambia e mostrare o nascondere l'evidenziazione della selezione.

Informazioni importanti

Tecnologie

Prerequisiti

  • C/C++
  • Programmazione dell'interfaccia utente di Windows

Istruzioni

Interagire con la selezione corrente

Per determinare la selezione corrente in un controllo di modifica rtf, utilizzare il messaggio EM_EXGETedizione Standard L. Per impostare la selezione corrente, usare il messaggio EM_EXedizione Standard T edizione Standard L. La struttura CHARRANGE viene utilizzata con entrambi i messaggi e specifica un intervallo di caratteri. Per recuperare informazioni sul contenuto della selezione corrente, è possibile utilizzare il messaggio EM_edizione Standard LECTIONTYPE.

Un'applicazione può rilevare quando la selezione corrente cambia elaborando il codice di notifica EN_edizione Standard LCHANGE. Il codice di notifica specifica una struttura edizione Standard LCHANGE che contiene informazioni sulla nuova selezione. Un controllo rich edit invia questo codice di notifica solo se lo si abilita usando il messaggio EM_edizione Standard TEVENTMASK.

Per impostazione predefinita, un controllo di modifica rtf mostra e nasconde l'evidenziazione della selezione quando ottiene e perde lo stato attivo. È possibile visualizzare o nascondere l'evidenziazione della selezione in qualsiasi momento usando il messaggio EM_HIDEedizione Standard LECTION. Ad esempio, un'applicazione potrebbe fornire una finestra di dialogo Di ricerca per trovare testo in un controllo di modifica rtf. L'applicazione potrebbe selezionare il testo corrispondente senza chiudere la finestra di dialogo, nel qual caso deve usare il messaggio EM_HIDEedizione Standard LECTION per evidenziare la selezione.

Come per i controlli di modifica, è possibile specificare lo stile della finestra ES_NOHIDEedizione Standard L per impedire a un controllo di modifica avanzato di nascondere l'evidenziazione della selezione quando perde lo stato attivo.

In alternativa all'uso dei messaggi EM_EXGETedizione Standard L e EM_EXedizione Standard T edizione Standard L, è possibile recuperare e impostare la selezione corrente usando EM_GETedizione Standard L e EM_ edizione Standard T edizione Standard L modifica messaggi di controllo. Il messaggio EM_GETedizione Standard L inserisce due indici di caratteri a 16 bit nel valore restituito a 32 bit e pertanto funziona solo per le selezioni che rientrano interamente all'interno del primo 64K. Tuttavia, un controllo di modifica rtf non conterrà mai più di 32.000 caratteri di testo, a meno che non si estenda questo limite utilizzando il messaggio EM_LIMITTEXT o EM_EXLIMITTEXT. Per le selezioni che si estendono oltre i primi 64 KB di testo, il messaggio EM_GETedizione Standard L restituisce –1. In questo caso è comunque possibile usare i valori restituiti in wParam e lParam per trovare i caratteri iniziale e finale della selezione.

Uso di controlli Rich Edit

Demo dei controlli comuni di Windows (CppWindowsCommonControls)