Antarmuka IExplorerBrowser (shobjidl_core.h)
IExplorerBrowser adalah objek browser yang dapat dinavigasi atau yang dapat menghosting tampilan objek data. Sebagai objek browser berfungsi lengkap, ini juga mendukung log perjalanan otomatis.
Shell menyediakan implementasi default IExplorerBrowser sebagai CLSID_ExplorerBrowser. Biasanya, pengembang tidak perlu menyediakan implementasi kustom antarmuka ini.
Kit Pengembangan Perangkat Lunak (SDK) Windows menyediakan sampel lengkap yang menunjukkan penggunaan dan interaksi dengan IExplorerBrowser. Unduh Sampel Pencarian Browser Explorer dan Sampel Konten Kustom Browser Explorer.
Warisan
Antarmuka IExplorerBrowser mewarisi dari antarmuka IUnknown . IExplorerBrowser juga memiliki jenis anggota ini:
Metode
Antarmuka IExplorerBrowser memiliki metode ini.
IExplorerBrowser::Advise Memulai koneksi dengan IExplorerBrowser untuk panggilan balik peristiwa. |
IExplorerBrowser::BrowseToIDList Menelusuri ke penunjuk ke daftar pengidentifikasi item (PIDL) |
IExplorerBrowser::BrowseToObject Menelusuri objek. |
IExplorerBrowser::D estroy Menghancurkan browser. |
IExplorerBrowser::FillFromObject Membuat folder hasil dan mengisinya dengan item. |
IExplorerBrowser::GetCurrentView Mendapatkan antarmuka untuk tampilan browser saat ini. |
IExplorerBrowser::GetOptions Mendapatkan opsi browser saat ini. |
IExplorerBrowser::Initialize Menyiapkan browser yang akan dinavigasi. |
IExplorerBrowser::RemoveAll Menghapus semua item dari folder hasil. |
IExplorerBrowser::SetEmptyText Mengatur teks kosong default. |
IExplorerBrowser::SetFolderSettings Menyetel pengaturan folder untuk tampilan saat ini. |
IExplorerBrowser::SetOptions Menyetel opsi browser saat ini. |
IExplorerBrowser::SetPropertyBag Mengatur nama tas properti. |
IExplorerBrowser::SetRect Mengatur ukuran dan posisi jendela tampilan yang dibuat oleh browser. |
IExplorerBrowser::Unadvise Mengakhiri koneksi penasihat. (IExplorerBrowser.Unadvise) |
Keterangan
Misalnya kode yang menunjukkan penggunaan khas IExplorerBrowser dan metodenya, lihat sampel Konten Kustom Browser Explorer dan Konten Kustom Browser Explorer.
Setelah memanggil metode Inisialisasi objek ini, metode Hancurkan harus dipanggil untuk membebaskan sumber daya berjendela apa pun yang dihasilkan dalam panggilan untuk Menginisialisasi.
Objek yang menghosting objek ExplorerBrowser harus berasal dari IServiceProvider dan mengimplementasikan QueryService untuk merespons kueri apa pun untuk layanan. Misalnya, jumlah panel yang ditampilkan oleh browser dapat dikontrol dengan menerapkan IExplorerPaneVisibility dan menanggapi permintaan layanan SID_ExplorerPaneVisibility apa pun.
Bingkai dinonaktifkan secara default. Untuk mengaktifkan bingkai dan mendapatkan kumpulan panel default, atur bendera EBO_SHOWFRAMES menggunakan metode IExplorerBrowser::SetOptions . Panel default, yang terdaftar sebagai konstanta IExplorerPaneVisibility , adalah:
- EP_NavPane
- EP_Commands
- EP_Commands_Organize
- EP_Commands_View
- EP_DetailsPane
- EP_PreviewPane
- EP_QueryPane
- EP_AdvQueryPane
- EP_StatusBar
- EP_Ribbon
Klien objek ExplorerBrowser dapat mengimplementasikan antarmuka ICommDlgBrowser, ICommDlgBrowser2, atau ICommDlgBrowser3 dan menanggapi permintaan layanan SID_SExplorerBrowserFrame dalam implementasi QueryService mereka yang dipanggil ketika antarmuka ICommDlgBrowser dipanggil di browser (biasanya dipanggil dari tampilan sebagai hasil dari tindakan pengguna). Perhatikan bahwa klien tidak menerima panggilan ke ICommDlgBrowser::IncludeObject jika filter folder telah diatur di browser dengan panggilan ke IFolderFilterSite::SetFilter.
Agar tetap kompatibel dengan beberapa aplikasi lama, tampilan Shell default (DefView) melakukan operasi pemfilteran (misalnya, operasi pencarian yang dijalankan oleh folder pencarian) pada utas UI. Untuk aplikasi baru, ini biasanya tidak diinginkan; pencarian harus dijalankan pada utas latar belakang. Untuk menghentikan pemfilteran utas UI dan menjalankan pemfilteran pada utas latar belakang, berikan ICommDlgBrowser2 melalui permintaan layanan SID_SExplorerBrowserFrame. Ketika ICommDlgBrowser2::GetViewFlags dipanggil, itu harus mengembalikan CDB2GVF_NOINCLUDEITEM. Misalnya, jika Anda menavigasi ke folder pencarian di ExplorerBrowser dan Anda tidak mengembalikan CDB2GVF_NOINCLUDEITEM, tampilan dapat berhenti merespons hingga seluruh pencarian selesai.
Arsitektur Shell memiliki tiga komponen utama: browser, tampilan, dan sumber data (misalnya, IShellFolder). Objek ExplorerBrowser mempertahankan lokasi saat ini dan navigasi ke lokasi lain di seluruh namespace Shell. Ini juga menyimpan log perjalanan (riwayat maju dan mundur). Browser diberi tahu ketika hal-hal terjadi dalam tampilan; misalnya, saat pengguna mengeklik dua kali folder. Sebagai tanggapan, browser menavigasi ke lokasi tersebut. Sumber data adalah objek yang menyediakan item dan folder di namespace. Mereka juga memiliki informasi tentang lokasi, seperti properti item dan apa yang harus ditambahkan ke menu konteks saat tampilan memintanya. Selain itu, sumber data tahu tampilan apa yang harus dibuat untuk mewakili item mereka di lokasi. Dalam hampir semua instans, folder membuat tampilan default Shell (DefView). Oleh karena itu, saat browser menavigasi, ia menerima objek IShellFolder untuk lokasi baru dan menanyakan tampilan apa yang akan dibuat. Browser kemudian membuat tampilan itu dan membuatnya terlihat, sambil bersembunyi lalu menghancurkan tampilan yang menunjukkan lokasi sebelumnya. Tampilan bertanggung jawab untuk berkomunikasi dengan IShellFolder untuk lokasi saat ini dan memintanya untuk menghitung item, yang memungkinkan tampilan untuk menampilkan item ini kepada pengguna. Saat pengguna berinteraksi dengan item, tampilan berkomunikasi dengan IShellFolder untuk mendapatkan informasi tambahan yang dibutuhkan, seperti properti tertentu dari item atau entri menu konteks untuk item tersebut.
Jika aplikasi menggunakan implementasi default yang disediakan oleh CLSID_ExplorerBrowser, memasukkannya ke jendela aplikasi lalu menjelajah ke lokasi, ExplorerBrowser membuat IShellView yang tepat seperti yang ditentukan oleh lokasi yang dijelajahinya. Aplikasi kemudian dapat meminta ExplorerBrowser untuk memberikan antarmuka pada tampilan saat ini, memungkinkan aplikasi untuk memanipulasi tampilan secara langsung jika diperlukan. Implementasi default objek tampilan Windows Explorer, yang dibuat oleh SHCreateShellFolderViewEx, mendukung antarmuka IShellView. Anda dapat memverifikasi bahwa Anda memiliki objek tampilan folder Shell default dengan memanggil IExplorerBrowser::GetCurrentView lalu memanggil QueryInterface pada objek yang dikembalikan menggunakan ID antarmuka IID_CDefView.
Windows 7 dan yang lebih baru. CExplorerBrowser dapat mendukung navigasi di tempat dengan menggunakan IServiceProvider::QueryService dengan ID Layanan SID_SlnPlaceBrowser. Saat menggunakan SID_SInPlaceBrowser, status CExplorerBrowser tidak dapat diatur ke EBO_NAVIGATEONCE.
Persyaratan
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | shobjidl_core.h (termasuk Shobjidl.h) |