Sdílet prostřednictvím


CShellManager – třída

Implementuje několik metod, které umožňují pracovat s ukazateli na seznamy identifikátorů (PIDLs).

Syntaxe

class CShellManager : public CObject

Členové

Veřejné konstruktory

Název Popis
CShellManager::CShellManager CShellManager Vytvoří objekt.

Veřejné metody

Název Popis
CShellManager::BrowseForFolder Zobrazí dialogové okno, které uživateli umožňuje vybrat složku prostředí.
CShellManager::ConcatenateItem Zřetězí dva kódy PIN.
CShellManager::CopyItem Vytvoří nový PIDL a zkopíruje do něj zadaný PIDL.
CShellManager::CreateItem Vytvoří nový PIDL zadané velikosti.
CShellManager::FreeItem Odstraní zadaný PIDL.
CShellManager::GetItemCount Vrátí počet položek v zadaném PIDL.
CShellManager::GetItemSize Vrátí velikost zadaného PIDL.
CShellManager::GetNextItem Vrátí další položku z PIDL.
CShellManager::GetParentItem Načte nadřazenou položku zadané položky.
CShellManager::ItemFromPath Načte PIDL pro položku identifikovanou zadanou cestou.

Poznámky

Metody CShellManager třídy se týkají kódů PIDL. PIDL je jedinečný identifikátor objektu prostředí.

Objekt byste neměli vytvářet CShellManager ručně. Vytvoří se automaticky v rámci vaší aplikace. Během procesu inicializace aplikace byste však měli volat CWinAppEx::InitShellManager . Pokud chcete získat ukazatel na správce prostředí pro vaši aplikaci, zavolejte CWinAppEx::GetShellManager.

Hierarchie dědičnosti

Objekt CObject

CShellManager

Požadavky

Hlavička: afxshellmanager.h

CShellManager::BrowseForFolder

Zobrazí dialogové okno, které uživateli umožňuje vybrat složku prostředí.

BOOL BrowseForFolder(
    CString& strOutFolder,
    CWnd* pWndParent = NULL,
    LPCTSTR lplszInitialFolder = NULL,
    LPCTSTR lpszTitle = NULL,
    UINT ulFlags = BIF_RETURNONLYFSDIRS,
    LPINT piFolderImage = NULL);

Parametry

strOutFolder
[ven] Řetězec používaný metodou k uložení cesty k vybrané složce.

pWndParent
[v] Ukazatel na nadřazené okno.

lplszInitialFolder
[v] Řetězec obsahující složku, která je ve výchozím nastavení vybrána při zobrazení dialogového okna.

lpszTitle
[v] Název dialogového okna.

ulFlags
[v] Příznaky určující možnosti dialogového okna. Podrobný popis najdete v části BROWSEINFO .

piFolderImage
[ven] Ukazatel na celočíselnou hodnotu, kde metoda zapíše index obrázku vybrané složky.

Návratová hodnota

Nenulové, pokud uživatel vybere složku z dialogového okna; jinak 0.

Poznámky

Při volání této metody aplikace vytvoří a zobrazí dialogové okno, které uživateli umožní vybrat složku. Metoda zapíše cestu ke složce do parametru strOutFolder .

Příklad

Následující příklad ukazuje, jak načíst odkaz na CShellManager objekt pomocí CWinAppEx::GetShellManager metody a jak použít metodu BrowseForFolder . Tento fragment kódu je součástí ukázky Průzkumníka.

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

Vytvoří nový seznam obsahující dva pidly.

LPITEMIDLIST ConcatenateItem(
    LPCITEMIDLIST pidl1,
    LPCITEMIDLIST pidl2);

Parametry

pidl1
[v] První položka.

pidl2
[v] Druhá položka.

Návratová hodnota

Ukazatel na nový seznam položek, pokud je funkce úspěšná, jinak NULL.

Poznámky

Tato metoda vytvoří nový ITEMIDLIST dostatečně velký, aby obsahoval pidl1 i pidl2. Pak zkopíruje pidl1 a pidl2 do nového seznamu.

CShellManager::CopyItem

Zkopíruje seznam položek.

LPITEMIDLIST CopyItem(LPCITEMIDLIST pidlSource);

Parametry

pidlSource
[v] Původní seznam položek.

Návratová hodnota

Ukazatel na nově vytvořený seznam položek v případě úspěchu; jinak NULL.

Poznámky

Nově vytvořený seznam položek má stejnou velikost jako seznam zdrojových položek.

CShellManager::CreateItem

Vytvoří nový PIDL.

LPITEMIDLIST CreateItem(UINT cbSize);

Parametry

CbSize
[v] Velikost seznamu položek.

Návratová hodnota

Ukazatel na seznam vytvořených položek v případě úspěchu; jinak NULL.

CShellManager::CShellManager

CShellManager Vytvoří objekt.

CShellManager();

Poznámky

Ve většině případů nemusíte vytvářet CShellManager přímo. Ve výchozím nastavení rozhraní vytvoří jednu za vás. Chcete-li získat ukazatel na CShellManager, volání CWinAppEx::GetShellManager. Pokud vytvoříte CShellManager ručně, musíte ji inicializovat pomocí metody CWinAppEx::InitShellManager.

CShellManager::FreeItem

Odstraní seznam položek.

void FreeItem(LPITEMIDLIST pidl);

Parametry

pidl
[v] Seznam položek, který chcete odstranit.

CShellManager::GetItemCount

Vrátí počet položek v seznamu položek.

UINT GetItemCount(LPCITEMIDLIST pidl);

Parametry

pidl
[v] Ukazatel na seznam položek

Návratová hodnota

Počet položek v seznamu položek

CShellManager::GetItemSize

Vrátí velikost seznamu položek.

UINT GetItemSize(LPCITEMIDLIST pidl);

Parametry

pidl
[v] Ukazatel na seznam položek

Návratová hodnota

Velikost seznamu položek.

CShellManager::GetNextItem

Načte další položku z ukazatele na seznam identifikátorů položek (PIDL).

LPITEMIDLIST GetNextItem(LPCITEMIDLIST pidl);

Parametry

pidl
[v] Seznam položek, které se mají iterovat.

Návratová hodnota

Ukazatel na další položku v seznamu.

Poznámky

Pokud v seznamu nejsou žádné další položky, vrátí tato metoda hodnotu NULL.

CShellManager::GetParentItem

Načte nadřazenou položku ukazatele na seznam identifikátorů položek (PIDL).

int GetParentItem(
    LPCITEMIDLIST lpidl,
    LPITEMIDLIST& lpidlParent);

Parametry

lpidl
[v] A PIDL, jehož nadřazený objekt se načte.

lpidlParent
[ven] Odkaz na PIDL, kde metoda uloží výsledek.

Návratová hodnota

Úroveň nadřazeného PIDL.

Poznámky

Úroveň PIDL je relativní vzhledem k ploše. Desktop PIDL se považuje za úroveň 0.

CShellManager::ItemFromPath

Načte ukazatel na seznam identifikátorů položek (PIDL) z položky identifikované cestou řetězce.

HRESULT ItemFromPath(
    LPCTSTR lpszPath,
    LPITEMIDLIST& pidl);

Parametry

lpszPath
[v] Řetězec, který určuje cestu k položce.

pidl
[ven] Odkaz na PIDL. Metoda používá tento PIDL k uložení ukazatele na jeho návratovou hodnotu.

Návratová hodnota

Vrátí chybu NOERROR, pokud je úspěšná; chybová hodnota definovaná ole.

Viz také

Graf hierarchie
Třídy