Bagikan melalui


Antarmuka IAutoComplete (shldisp.h)

Diekspos oleh objek pelengkapan otomatis (CLSID_AutoComplete). Antarmuka ini memungkinkan aplikasi untuk menginisialisasi, mengaktifkan, dan menonaktifkan objek.

Warisan

Antarmuka IAutoComplete mewarisi dari antarmuka IUnknown . IAutoComplete juga memiliki jenis anggota ini:

Metode

Antarmuka IAutoComplete memiliki metode ini.

 
IAutoComplete::Enable

Mengaktifkan atau menonaktifkan pelengkapan otomatis.
IAutoComplete::Init

Menginisialisasi objek pelengkapan otomatis.

Keterangan

Pelengkapan otomatis memperluas string yang telah dimasukkan sebagian dalam kontrol edit ke dalam string lengkap. Misalnya, ketika pengguna mulai mengetik URL di kontrol Edit alamat yang disematkan di toolbar Windows Internet Explorer, pelengkapan otomatis memperluas string menjadi satu atau beberapa URL lengkap yang konsisten dengan string parsial yang ada. String URL parsial seperti "mikrofon" mungkin diperluas ke "http://www.microsoft.com" atau "http://www.microsoft.com/windows". Pelengkapan otomatis biasanya digunakan dengan kontrol edit atau dengan kontrol yang memiliki kontrol edit tersemat seperti kontrol comboboxex.

Pelengkapan otomatis memiliki dua mode untuk menampilkan string yang telah selesai. Modenya independen, sehingga Anda dapat mengaktifkan salah satu atau keduanya. Untuk menentukan mode, panggil IAutoComplete2::SetOptions. Modenya adalah sebagai berikut:

  • Dalam mode autoappend , pelengkapan otomatis menambahkan sisa string kandidat yang paling mungkin ke karakter yang ada, menyoroti karakter yang ditambahkan. Kontrol edit bertingkah seolah-olah pengguna telah memasukkan seluruh string secara manual lalu menyoroti karakter yang ditambahkan. Jika pengguna terus memasukkan karakter, mereka ditambahkan ke string parsial yang ada. Jika pengguna menambahkan karakter yang identik dengan karakter yang disorot berikutnya, penyorotan untuk karakter tersebut akan dinonaktifkan. Karakter yang tersisa masih akan disorot. Jika pengguna menambahkan karakter yang tidak cocok dengan karakter yang disorot berikutnya, pelengkapan otomatis mencoba menghasilkan string kandidat baru berdasarkan string parsial yang lebih besar. Ini menambahkan sisa string kandidat baru ke string parsial saat ini, seperti sebelumnya. Jika tidak ada string kandidat yang dapat ditemukan, hanya karakter yang ditik yang muncul dan kotak edit bertingkah seperti biasanya tanpa pelengkapan otomatis. Proses ini berlanjut hingga pengguna menerima string.
  • Dalam mode autosuggest , pelengkapan otomatis menampilkan daftar drop-down di bawah kontrol edit dengan satu atau beberapa string lengkap yang disarankan. Pengguna dapat memilih salah satu string yang disarankan, biasanya dengan mengkliknya, atau terus mengetik. Saat pengetikan berlangsung, daftar drop-down dapat dimodifikasi, berdasarkan string parsial saat ini. Jika Anda mengatur bendera ACO_SEARCH di parameter dwFlagIAutoComplete2::SetOptions, item "Cari 'XXX'" ditambahkan ke bagian bawah daftar drop-down. Ini ditampilkan bahkan jika tidak ada string yang disarankan. "XXX" diatur ke string parsial saat ini dan diperbarui saat pengguna terus mengetik. Jika pengguna memilih "Cari '...'", aplikasi Anda harus meluncurkan mesin pencari untuk membantu pengguna.
Cara paling sederhana untuk menerapkan pelengkapan otomatis adalah dengan memanggil SHAutoComplete. Ketika fungsi ini dipanggil untuk kontrol pengeditan sistem, kontrol akan melengkapi sebagian jalur sistem file atau URL yang dimasukkan sebagian. Untuk mengaktifkan pelengkapan otomatis untuk jenis string lain, atau untuk memiliki kontrol lebih besar atas cara kerja pelengkapan otomatis, Anda dapat menggunakan objek pelengkapan otomatis yang mendasar secara langsung.

Antarmuka ini biasanya tidak diimplementasikan oleh aplikasi. Ini diekspos oleh objek lengkapi otomatis Shell dan digunakan oleh aplikasi.

Gunakan antarmuka IAutoComplete dari objek pelengkapan otomatis untuk menginisialisasi objek dan untuk mengaktifkan atau menonaktifkan pelengkapan otomatis.

Untuk menerapkan pelengkapan otomatis untuk kontrol edit menggunakan objek pelengkapan otomatis, lakukan hal berikut:

  1. Terapkan daftar string objek Model Objek Komponen (COM) yang mengekspor antarmuka IEnumString . Objek daftar string ini bertanggung jawab untuk menyediakan daftar string yang akan digunakan objek pelengkapan otomatis sebagai kandidat untuk string yang diselesaikan.
  2. Buat instans objek lengkapi otomatis dengan CoCreateInstance. Minta penunjuk ke antarmuka IAutoComplete-nya .
  3. Panggil IAutoComplete::Init. Atur parameter hwndEdit ke handel jendela kontrol edit. Jika kontrol edit disematkan di kontrol lain, Anda harus mengambil handel ke kontrol edit itu sendiri. Misalnya, untuk mengambil handel ke kontrol edit yang disematkan dalam kontrol comboboxex, kirim pesan CBEM_GETEDITCONTROL . Atur parameter punkACL dari IAutoComplete::Init ke pointer IUnknown dari objek daftar string.
  4. Jika Anda tidak ingin menggunakan opsi default, ambil penunjuk ke antarmuka IAutoComplete2 objek lengkapi otomatis. Panggil IAutoComplete2::SetOptions untuk mengatur opsi yang diinginkan.
  5. Objek pelengkapan otomatis menggunakan penunjuk IUnknown dari objek daftar string, diteruskan sebagai punkACL di langkah 3, untuk mengambil penunjuk ke antarmuka IEnumString objek tersebut. Objek pelengkapan otomatis kemudian memanggil antarmuka tersebut untuk menghasilkan daftar string kandidatnya. Ini memilih string dari daftar yang merupakan kecocokan yang dapat diterima dengan string parsial dalam kontrol. Dalam mode autoappend, karakter yang diperlukan untuk menyelesaikan string ditambahkan ke string parsial dan disorot. Dalam mode autosuggest, kotak drop-down dengan daftar satu atau beberapa string yang mungkin ditampilkan di bawah kontrol edit.
  6. Jika pengguna menerima string yang lengkapi otomatis, kontrol edit bertingkah seolah-olah string telah dimasukkan secara manual.
Pelengkapan otomatis diaktifkan secara default. Aplikasi hanya perlu memanggil IAutoComplete::Enable untuk menonaktifkan pelengkapan otomatis atau untuk mengaktifkannya kembali jika telah dinonaktifkan.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional, Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header shldisp.h

Lihat juga

IACList

IACList2

IAutoComplete2

ICurrentWorkingDirectory

IObjMgr