Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.
Számos metódust implementál, amelyek lehetővé teszik az azonosítólistákra mutató mutatók (PIDL-k) használatát.
Szemantika
class CShellManager : public CObject
Tagok
Nyilvános konstruktorok
| Név | Description |
|---|---|
| CShellManager::CShellManager | Egy CShellManager objektumot hoz létre. |
Nyilvános metódusok
| Név | Description |
|---|---|
| CShellManager::BrowseForFolder | Megjelenít egy párbeszédpanelt, amely lehetővé teszi a felhasználó számára a rendszerhéjmappa kiválasztását. |
| CShellManager::ConcatenateItem | Összefűz két PIDL-t. |
| CShellManager::CopyItem | Létrehoz egy új PIDL-t, és átmásolja a megadott PIDL-t. |
| CShellManager::CreateItem | Létrehoz egy új PIDL-t a megadott méretből. |
| CShellManager::FreeItem | Törli a megadott PIDL-t. |
| CShellManager::GetItemCount | A megadott PIDL-ben lévő elemek számát adja vissza. |
| CShellManager::GetItemSize | A megadott PIDL méretét adja vissza. |
| CShellManager::GetNextItem | A KÖVETKEZŐ elemet adja vissza a PIDL-ből. |
| CShellManager::GetParentItem | Lekéri a megadott elem szülőelemét. |
| CShellManager::ItemFromPath | Lekéri a megadott elérési út által azonosított elemHEZ tartozó PIDL-t. |
Megjegyzések
Az osztály módszerei mind CShellManager a PIDL-kkel foglalkoznak. A PIDL egy rendszerhéjobjektum egyedi azonosítója.
Ne hozzon létre manuálisan objektumot CShellManager . Ezt az alkalmazás keretrendszere automatikusan létrehozza. A CWinAppEx::InitShellManager metódust azonban az alkalmazás inicializálási folyamata során kell meghívnia. Ha az alkalmazás felületkezelőjéhez szeretne mutatót kapni, hívja meg a CWinAppEx::GetShellManager parancsot.
Öröklési hierarchia
Requirements
Fejléc: afxshellmanager.h
CShellManager::BrowseForFolder
Megjelenít egy párbeszédpanelt, amely lehetővé teszi a felhasználó számára a rendszerhéjmappa kiválasztását.
BOOL BrowseForFolder(
CString& strOutFolder,
CWnd* pWndParent = NULL,
LPCTSTR lplszInitialFolder = NULL,
LPCTSTR lpszTitle = NULL,
UINT ulFlags = BIF_RETURNONLYFSDIRS,
LPINT piFolderImage = NULL);
Paraméterek
strOutFolder
[kifelé] A metódus által a kijelölt mappa elérési útjának tárolására használt sztring.
pWndParent
[in] Mutató a szülőablakra.
lplszInitialFolder
[in] A párbeszédpanel megjelenésekor alapértelmezés szerint kijelölt mappát tartalmazó sztring.
lpszTitle
[in] A párbeszédpanel címe.
ulFlags
[in] A párbeszédpanel beállításait megjelölő jelzők. A részletes leírásért tekintse meg a BROWSEINFO webhelyet.
piFolderImage
[kifelé] Egy mutató arra az egész számra, ahol a metódus a kijelölt mappa képindexét írja.
Visszaadott érték
Nonzero, ha a felhasználó kiválaszt egy mappát a párbeszédpanelen; egyéb esetben 0.
Megjegyzések
Amikor meghívja ezt a metódust, az alkalmazás létrehoz és megjeleníti a párbeszédpanelt, amely lehetővé teszi, hogy a felhasználó kijelöljön egy mappát. A metódus beírja a mappa elérési útját a strOutFolder paraméterbe.
Example
Az alábbi példa bemutatja, hogyan kérhető le egy CShellManager objektumra mutató hivatkozás a CWinAppEx::GetShellManager metódus használatával és a BrowseForFolder metódus használatával. Ez a kódrészlet az Explorer-minta része.
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
Létrehoz egy két PIDL-t tartalmazó új listát.
LPITEMIDLIST ConcatenateItem(
LPCITEMIDLIST pidl1,
LPCITEMIDLIST pidl2);
Paraméterek
pidl1
[in] Az első elem.
pidl2
[in] A második elem.
Visszaadott érték
Az új elemlistára mutató mutató, ha a függvény sikeres, ellenkező esetben NULL.
Megjegyzések
Ez a metódus létrehoz egy új ITEMIDLIST-et , amely elég nagy ahhoz, hogy a pidl1 és a pidl2 is tartalmazzon. Ezután a pidl1 és a pidl2 fájlokat az új listára másolja.
CShellManager::CopyItem
Elemlista másolása.
LPITEMIDLIST CopyItem(LPCITEMIDLIST pidlSource);
Paraméterek
pidlSource
[in] Az eredeti elemlista.
Visszaadott érték
Ha sikeres, mutató az újonnan létrehozott elemlistára; ellenkező esetben NULL.
Megjegyzések
Az újonnan létrehozott elemlista mérete megegyezik a forráselemlistával.
CShellManager::CreateItem
Létrehoz egy új PIDL-t.
LPITEMIDLIST CreateItem(UINT cbSize);
Paraméterek
cbSize
[in] Az elemlista mérete.
Visszaadott érték
A létrehozott elemlistára mutató mutató, ha sikeres; ellenkező esetben NULL.
CShellManager::CShellManager
Egy CShellManager objektumot hoz létre.
CShellManager();
Megjegyzések
A legtöbb esetben nem kell közvetlenül létrehoznia.CShellManager Alapértelmezés szerint a keretrendszer létrehoz egyet az Ön számára. A CWinAppEx::GetShellManager hívásával mutatót CShellManagerkaphat. Ha manuálisan hoz létre egy CShellManager fiókot, inicializálnia kell azt a CWinAppEx::InitShellManager metódussal.
CShellManager::FreeItem
Elemlista törlése.
void FreeItem(LPITEMIDLIST pidl);
Paraméterek
pidl
[in] Törölni kívánt elemlista.
CShellManager::GetItemCount
Egy elemlistában szereplő elemek számát adja vissza.
UINT GetItemCount(LPCITEMIDLIST pidl);
Paraméterek
pidl
[in] Egy elemlistára mutató mutató.
Visszaadott érték
Az elemlistában szereplő elemek száma.
CShellManager::GetItemSize
Egy elemlista méretét adja vissza.
UINT GetItemSize(LPCITEMIDLIST pidl);
Paraméterek
pidl
[in] Egy elemlistára mutató mutató.
Visszaadott érték
Az elemlista mérete.
CShellManager::GetNextItem
Lekéri a következő elemet egy mutatóból egy elemazonosító-listába (PIDL).
LPITEMIDLIST GetNextItem(LPCITEMIDLIST pidl);
Paraméterek
pidl
[in] Az iterálni kívánt elemek listája.
Visszaadott érték
A lista következő elemére mutató mutató.
Megjegyzések
Ha nincs több elem a listában, ez a metódus NULL értéket ad vissza.
CShellManager::GetParentItem
Egy mutató szülőjének lekérése egy elemazonosító-listához (PIDL).
int GetParentItem(
LPCITEMIDLIST lpidl,
LPITEMIDLIST& lpidlParent);
Paraméterek
lpidl
[in] Egy PIDL, amelynek a szülőjét lekéri a rendszer.
lpidlParent
[kifelé] Hivatkozás egy OLYAN PIDL-re, ahol a metódus tárolja az eredményt.
Visszaadott érték
A szülő PIDL szintje.
Megjegyzések
A PIDL szintje az asztalhoz viszonyítva van. Az asztali PIDL 0 szintűnek minősül.
CShellManager::ItemFromPath
Lekéri a mutatót egy elemazonosító-listára (PIDL) egy sztringútvonal által azonosított elemből.
HRESULT ItemFromPath(
LPCTSTR lpszPath,
LPITEMIDLIST& pidl);
Paraméterek
lpszPath
[in] Az elem elérési útját meghatározó sztring.
pidl
[kifelé] Hivatkozás egy PIDL-re. A metódus ezt a PIDL-t használja a mutató visszatérési értékére való tárolásához.
Visszaadott érték
A NOERROR értéket adja vissza, ha sikeres; OLE által definiált hibaérték.