Bagikan melalui


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

CObject

CShellManager

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.

Baca juga

Bagan Hierarki
Kelas