Cara Berinteraksi dengan Pilihan Saat Ini

Pengguna dapat memilih teks dalam kontrol edit kaya dengan menggunakan mouse atau keyboard. Pilihan saat ini adalah rentang karakter terpilih, atau posisi titik penyisipan jika tidak ada karakter yang dipilih. Aplikasi bisa mendapatkan informasi tentang pilihan saat ini, mengaturnya, menentukan kapan aplikasi berubah, dan memperlihatkan atau menyembunyikan sorotan pilihan.

Apa yang perlu Anda ketahui

Teknologi

Prasyarat

  • C/C++
  • Pemrograman Antarmuka Pengguna Windows

Petunjuk

Berinteraksi dengan Pilihan Saat Ini

Untuk menentukan pilihan saat ini dalam kontrol edit kaya, gunakan pesan EM_EXGETSEL. Untuk mengatur pilihan saat ini, gunakan pesan EM_EXSETSEL. Struktur CHARRANGE digunakan dengan kedua pesan dan menentukan rentang karakter. Untuk mengambil informasi tentang konten pilihan saat ini, Anda bisa menggunakan pesan EM_SELECTIONTYPE.

Aplikasi dapat mendeteksi kapan pilihan saat ini berubah dengan memproses kode pemberitahuan EN_SELCHANGE . Kode pemberitahuan menentukan struktur SELCHANGE yang berisi informasi tentang pilihan baru. Kontrol edit kaya mengirimkan kode pemberitahuan ini hanya jika Anda mengaktifkannya dengan menggunakan pesan EM_SETEVENTMASK.

Secara default, kontrol edit kaya memperlihatkan dan menyembunyikan sorotan pilihan saat mendapatkan dan kehilangan fokus. Anda dapat memperlihatkan atau menyembunyikan sorotan pilihan kapan saja dengan menggunakan pesan EM_HIDESELECTION. Misalnya, aplikasi mungkin menyediakan kotak dialog Pencarian untuk menemukan teks dalam kontrol edit yang kaya. Aplikasi mungkin memilih teks yang cocok tanpa menutup kotak dialog, dalam hal ini harus menggunakan pesan EM_HIDESELECTION untuk menyoroti pilihan.

Seperti halnya kontrol edit, Anda dapat menentukan gaya jendela ES_NOHIDESEL untuk mencegah kontrol edit yang kaya menyembunyikan sorotan pilihan saat kehilangan fokus.

Sebagai alternatif untuk menggunakan pesan EM_EXGETSEL dan EM_EXSETSEL, Anda dapat mengambil dan mengatur pilihan saat ini dengan menggunakan EM_GETSEL dan EM_SETSEL mengedit pesan kontrol. Pesan EM_GETSEL mengemas dua indeks karakter 16-bit ke dalam nilai pengembalian 32-bit dan oleh karena itu, hanya berfungsi untuk pilihan yang sepenuhnya berada dalam 64K pertama. Namun, kontrol edit yang kaya tidak akan pernah berisi lebih dari 32K karakter teks, kecuali Anda memperluas batas ini dengan menggunakan pesan EM_LIMITTEXT atau EM_EXLIMITTEXT. Untuk pilihan yang melampaui 64 KB teks pertama, pesan EM_GETSEL mengembalikan –1. Dalam kasus seperti itu, Anda masih dapat menggunakan nilai yang dikembalikan di wParam dan lParam untuk menemukan karakter awal dan akhir pilihan.

Menggunakan Kontrol Edit Kaya

Demo kontrol umum Windows (CppWindowsCommonControls)