Selezione corrente in un controllo Rich Edit

L'utente può selezionare il testo in un controllo rich edit utilizzando il mouse o la tastiera. La selezione corrente è la gamma di caratteri selezionati o la posizione del punto di inserimento se non caratteri vengono selezionati. Un'applicazione può ottenere informazioni circa la selezione corrente, impostare la selezione corrente, determinare quando i cambiamenti di selezione corrente e mostra o nasconde la selezione evidenziare.

Per determinare la selezione corrente in un controllo rich edit, utilizzare il messaggio EM_EXGETSEL . Per impostare la selezione corrente, utilizzare il messaggio EM_EXSETSEL . 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_SELECTIONTYPE.

Un'applicazione può rilevare quando cambia la selezione corrente elaborando il messaggio di notifica EN_SELCHANGE . Il messaggio di notifica specifica una struttura SELCHANGE contenente informazioni circa la nuova selezione. Un controllo rich edit Invia questo messaggio di notifica solo se si attiva utilizzando il messaggio EM_SETEVENTMASK.

Per impostazione predefinita, un controllo rich edit mostra e nasconde l'evidenziazione di selezione quando guadagna e perde lo stato attivo. È possibile mostrare o nascondere l'evidenziazione di selezione in qualsiasi momento utilizzando il messaggio EM_HIDESELECTION . Ad esempio, un'applicazione potrebbe fornire una finestra di dialogo cerca di trovare il testo in un controllo rich edit. L'applicazione potrebbe selezionare testo corrispondente senza chiudere la finestra di dialogo, nel qual caso è necessario utilizzare il messaggio EM_HIDESELECTION per evidenziare la selezione.

Come con i controlli di modifica, è possibile specificare lo stile della finestra ES_NOHIDESEL per impedire un controllo rich edit di nascondere l'evidenziazione di selezione quando perde lo stato attivo. È inoltre possibile utilizzare il messaggio EM_HIDESELECTION per cambiare lo stile della finestra ES_NOHIDESEL dopo aver creato un controllo rich edit.

Invece di utilizzare i messaggi di EM_EXGETSEL ed EM_EXSETSEL , puoi recuperare e impostare la selezione corrente utilizzando il EM_GETSEL ed EM_SETSEL i messaggi di controllo di modifica. Il messaggio EM_GETSEL confezioni due indici di carattere a 16 bit in valore a 32 bit e, pertanto, funziona solo per le selezioni che ricadono interamente il primo 64 K. Tuttavia, un controllo rich edit non conterrà mai più di 32 KB di testo, a meno che non si estende questo limite utilizzando il messaggio EM_EXLIMITTEXT . Per le selezioni che si estendono oltre il primo 64K di testo, il messaggio EM_GETSEL restituisce-1.

Rimedio: Inserire il CD-ROM CD di MSDN Library.

Index