Kelas CShellManager
Menerapkan beberapa metode yang memungkinkan Anda bekerja dengan penunjuk ke daftar pengidentifikasi (PIDL).
Sintaks
class CShellManager : public CObject
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
CShellManager::CShellManager | Membuat CShellManager objek. |
Metode Publik
Nama | Deskripsi |
---|---|
CShellManager::BrowseForFolder | Menampilkan kotak dialog yang memungkinkan pengguna memilih folder shell. |
CShellManager::ConcatenateItem | Menggabungkan dua PIDL. |
CShellManager::CopyItem | Membuat PIDL baru dan menyalin PIDL yang disediakan ke dalamnya. |
CShellManager::CreateItem | Membuat PIDL baru dengan ukuran yang ditentukan. |
CShellManager::FreeItem | Menghapus PIDL yang disediakan. |
CShellManager::GetItemCount | Mengembalikan jumlah item dalam PIDL yang disediakan. |
CShellManager::GetItemSize | Mengembalikan ukuran PIDL yang disediakan. |
CShellManager::GetNextItem | Mengembalikan item berikutnya dari PIDL. |
CShellManager::GetParentItem | Mengambil item induk dari item yang disediakan. |
CShellManager::ItemFromPath | Mengambil PIDL untuk item yang diidentifikasi oleh jalur yang disediakan. |
Keterangan
Metode kelas semuanya berurusan CShellManager
dengan PIDL. PIDL adalah pengidentifikasi unik untuk objek shell.
Anda tidak boleh membuat CShellManager
objek secara manual. Ini akan dibuat secara otomatis oleh kerangka kerja aplikasi Anda. Namun, Anda harus memanggil CWinAppEx::InitShellManager selama proses inisialisasi aplikasi Anda. Untuk mendapatkan penunjuk ke manajer shell untuk aplikasi Anda, panggil CWinAppEx::GetShellManager.
Hierarki Warisan
Persyaratan
Header: afxshellmanager.h
CShellManager::BrowseForFolder
Menampilkan kotak dialog yang memungkinkan pengguna memilih folder shell.
BOOL BrowseForFolder(
CString& strOutFolder,
CWnd* pWndParent = NULL,
LPCTSTR lplszInitialFolder = NULL,
LPCTSTR lpszTitle = NULL,
UINT ulFlags = BIF_RETURNONLYFSDIRS,
LPINT piFolderImage = NULL);
Parameter
strOutFolder
[out] String yang digunakan oleh metode untuk menyimpan jalur folder yang dipilih.
pWndParent
[di] Penunjuk ke jendela induk.
lplszInitialFolder
[di] String yang berisi folder yang dipilih secara default saat kotak dialog ditampilkan.
lpszTitle
[di] Judul untuk kotak dialog.
ulFlags
[di] Bendera yang menentukan opsi untuk kotak dialog. Lihat BROWSEINFO untuk deskripsi terperinci.
piFolderImage
[out] Penunjuk ke nilai bilangan bulat tempat metode menulis indeks gambar folder yang dipilih.
Tampilkan Nilai
Bukan nol jika pengguna memilih folder dari kotak dialog; jika tidak, 0.
Keterangan
Saat Anda memanggil metode ini, aplikasi membuat dan memperlihatkan kotak dialog yang memungkinkan pengguna memilih folder. Metode ini akan menulis jalur folder ke dalam parameter strOutFolder .
Contoh
Contoh berikut menunjukkan cara mengambil referensi ke CShellManager
objek dengan menggunakan CWinAppEx::GetShellManager
metode dan cara menggunakan BrowseForFolder
metode . Cuplikan kode ini adalah bagian dari sampel Explorer.
CString strPath;
// The this pointer points to the CExplorerView class which extends the CView class.
// CMFCShellListCtrl m_wndList
if (m_wndList.GetCurrentFolder(strPath) &&
theApp.GetShellManager()->BrowseForFolder(strPath,
this, strPath, _T("Copy the selected item(s) to the folder:")))
{
MessageBox(CString(_T("The selected path is: ")) + strPath);
}
CShellManager::ConcatenateItem
Membuat daftar baru yang berisi dua PIDL.
LPITEMIDLIST ConcatenateItem(
LPCITEMIDLIST pidl1,
LPCITEMIDLIST pidl2);
Parameter
pidl1
[di] Item pertama.
pidl2
[di] Item kedua.
Tampilkan Nilai
Penunjuk ke daftar item baru jika fungsi berhasil, jika tidak, NULL.
Keterangan
Metode ini membuat ITEMIDLIST baru yang cukup besar untuk berisi pidl1 dan pidl2. Kemudian menyalin pidl1 dan pidl2 ke daftar baru.
CShellManager::CopyItem
Menyalin daftar item.
LPITEMIDLIST CopyItem(LPCITEMIDLIST pidlSource);
Parameter
pidlSource
[di] Daftar item asli.
Tampilkan Nilai
Penunjuk ke daftar item yang baru dibuat jika berhasil; jika tidak, NULL.
Keterangan
Daftar item yang baru dibuat memiliki ukuran yang sama dengan daftar item sumber.
CShellManager::CreateItem
Membuat PIDL baru.
LPITEMIDLIST CreateItem(UINT cbSize);
Parameter
cbSize
[di] Ukuran daftar item.
Tampilkan Nilai
Penunjuk ke daftar item yang dibuat jika berhasil; jika tidak, NULL.
CShellManager::CShellManager
Membuat CShellManager
objek.
CShellManager();
Keterangan
Dalam kebanyakan kasus, Anda tidak perlu membuat secara CShellManager
langsung. Secara default, kerangka kerja membuatnya untuk Anda. Untuk mendapatkan pointer ke CShellManager
, panggil CWinAppEx::GetShellManager. Jika Anda membuat CShellManager
secara manual, Anda harus menginisialisasinya dengan metode CWinAppEx::InitShellManager.
CShellManager::FreeItem
Menghapus daftar item.
void FreeItem(LPITEMIDLIST pidl);
Parameter
pidl
[di] Daftar item yang akan dihapus.
CShellManager::GetItemCount
Mengembalikan jumlah item dalam daftar item.
UINT GetItemCount(LPCITEMIDLIST pidl);
Parameter
pidl
[di] Penunjuk ke daftar item.
Tampilkan Nilai
Jumlah item dalam daftar item.
CShellManager::GetItemSize
Mengembalikan ukuran daftar item.
UINT GetItemSize(LPCITEMIDLIST pidl);
Parameter
pidl
[di] Penunjuk ke daftar item.
Tampilkan Nilai
Ukuran daftar item.
CShellManager::GetNextItem
Mengambil item berikutnya dari penunjuk ke daftar pengidentifikasi item (PIDL).
LPITEMIDLIST GetNextItem(LPCITEMIDLIST pidl);
Parameter
pidl
[di] Daftar item yang akan diulang.
Tampilkan Nilai
Penunjuk ke item berikutnya dalam daftar.
Keterangan
Jika tidak ada item lagi dalam daftar, metode ini mengembalikan NULL.
CShellManager::GetParentItem
Mengambil induk penunjuk ke daftar pengidentifikasi item (PIDL).
int GetParentItem(
LPCITEMIDLIST lpidl,
LPITEMIDLIST& lpidlParent);
Parameter
lpidl
[di] PIDL yang induknya akan diambil.
lpidlParent
[out] Referensi ke PIDL tempat metode akan menyimpan hasilnya.
Tampilkan Nilai
Tingkat PIDL induk.
Keterangan
Tingkat PIDL relatif terhadap desktop. PIDL desktop dianggap memiliki tingkat 0.
CShellManager::ItemFromPath
Mengambil penunjuk ke daftar pengidentifikasi item (PIDL) dari item yang diidentifikasi oleh jalur string.
HRESULT ItemFromPath(
LPCTSTR lpszPath,
LPITEMIDLIST& pidl);
Parameter
lpszPath
[di] String yang menentukan jalur untuk item.
pidl
[out] Referensi ke PIDL. Metode ini menggunakan PIDL ini untuk menyimpan pointer ke nilai pengembaliannya.
Tampilkan Nilai
Mengembalikan NOERROR jika berhasil; nilai kesalahan yang ditentukan OLE.