Selecția curentă într-un Control de editare bogat

Utilizatorul poate selecta text într-un control de editare bogat utilizând mausul sau tastatura. Selecția curentă este gama de caracterele selectate, sau poziția punctului de inserare dacă caractere nu sunt selectate. Cererea poate obține informații despre selecția curentă, setați selec?ia curentă, determină când curent selecție modificări, și Arată sau ascunde selecția Evidențiere.

Pentru a determina selecția curentă într-un control de editare bogat, utilizați mesajul de EM_EXGETSEL . Pentru a seta selecția curentă, utilizați mesajul de EM_EXSETSEL . Structura CHARRANGE este folosit cu ambele mesaje și specifică un interval de caractere. Pentru a prelua informații despre conținutul din selecția curentă, aveți posibilitatea să utilizați mesajul de EM_SELECTIONTYPE.

Cererea poate detecta când selecția curentă se modifică prin prelucrarea mesajul de notificare EN_SELCHANGE . Mesajul de notificare specifică o structură SELCHANGE care conțin informații despre noua selecție. Un control de editare bogat trimite acest mesaj de notificare numai dacă activați utilizând mesaj EM_SETEVENTMASK.

În mod implicit, un control de editare bogat afișează și ascunde evidențierea selecție atunci când câștigurile și pierde focalizarea. Puteți afișa sau ascunde evidențierea selecție în orice moment utilizând EM_HIDESELECTION mesajul. De exemplu, o cerere ar putea oferi o casetă de dialog de căutare pentru a găsi text într-un control de editare bogat. Cererea ar putea selectați Potrivire text fără a închide caseta de dialog, caz în care aceasta trebuie să utilizați mesajul EM_HIDESELECTION pentru a evidenția de selecție.

Ca cu controalele de editare, specificați stilul fereastra ES_NOHIDESEL pentru a împiedica ascunde evidențierea selecție atunci când își va pierde focalizarea un control de editare bogat. De asemenea, utilizați mesajul EM_HIDESELECTION pentru a schimba stilul ES_NOHIDESEL fereastra după ce este creat un control de editare bogat.

În loc de a utiliza mesajele EM_EXGETSEL și EM_EXSETSEL , puteți regăsi și setați selec?ia curentă prin utilizarea EM_GETSEL și EM_SETSEL Editare control mesaje. Mesajul EM_GETSEL pachete de două caractere pe 16 biți indexuri în valoarea de retur-32-bit și, prin urmare, funcționează numai pentru selecții, care se încadrează în totalitate în primul 64 K. Cu toate acestea, un control de editare bogat nu va conține mai mult de 32 K de text, dacă nu se extinde această limită prin utilizarea EM_EXLIMITTEXT mesajul. Pentru selecții care se extind dincolo de primul 64 K de text, mesaj EM_GETSEL întoarce-1.

Index