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.
Az CMFCShellListCtrl osztály windowsos listavezérlési funkciókat biztosít, és kibővíti a rendszerhéjelemek listájának megjelenítésével.
Szemantika
class CMFCShellListCtrl : public CMFCListCtrl
Tagok
Nyilvános metódusok
| Név | Description |
|---|---|
| CMFCShellListCtrl::D isplayFolder | Megjeleníti a megadott mappában található elemek listáját. |
| CMFCShellListCtrl::D isplayParentFolder | Megjeleníti azoknak az elemeknek a listáját, amelyek abban a mappában találhatók, amely az aktuálisan megjelenített mappa szülője. |
| CMFCShellListCtrl::EnableShellContextMenu | Engedélyezi vagy letiltja a helyi menüt. |
| CMFCShellListCtrl::GetCurrentFolder | Lekéri az aktuális mappa elérési útját. |
| CMFCShellListCtrl::GetCurrentFolderName | Lekéri az aktuális mappa nevét. |
| CMFCShellListCtrl::GetCurrentItemIdList | Az aktuális listavezérlő elem PIDL-ját adja vissza. |
| CMFCShellListCtrl::GetCurrentShellFolder | Az aktuális Shell-mappára mutató mutatót ad vissza. |
| CMFCShellListCtrl::GetItemPath | Egy elem szöveges elérési útját adja vissza. |
| CMFCShellListCtrl::GetItemTypes | A listavezérlő által megjelenített Shell-elemtípusokat adja vissza. |
| CMFCShellListCtrl::IsDesktop | Ellenőrzi, hogy az aktuálisan kijelölt mappa az asztali mappa-e. |
| CMFCShellListCtrl::OnCompareItems | A keretrendszer ezt a metódust hívja meg, amikor két elemet hasonlít össze. (Felülbírálja a CMFCListCtrl::OnCompareItems.) |
| CMFCShellListCtrl::OnFormatFileDate | Akkor hívható meg, amikor a keretrendszer lekéri a listavezérlő által megjelenített fájldátumot. |
| CMFCShellListCtrl::OnFormatFileSize | Akkor hívható meg, amikor a keretrendszer átalakítja egy listavezérlő fájlméretét. |
| CMFCShellListCtrl::OnGetItemIcon | Akkor hívja meg a rendszer, amikor a keretrendszer lekéri egy listavezérlő elem ikonját. |
| CMFCShellListCtrl::OnGetItemText | Akkor hívható meg, amikor a keretrendszer átalakítja egy listavezérlő elem szövegét. |
| CMFCShellListCtrl::OnSetColumns | A keretrendszer meghívja, amikor beállítja az oszlopok nevét. |
| CMFCShellListCtrl::Frissítés | Frissíti és újrafesti a listavezérlőt. |
| CMFCShellListCtrl::SetItemTypes | Beállítja a listavezérlő által megjelenített elemek típusát. |
Megjegyzések
Az CMFCShellListCtrl osztály kibővíti a CMFCListCtrl osztály funkcióit azáltal, hogy lehetővé teszi a program számára a Windows rendszerhéj elemeinek felsorolását. A használt megjelenítési formátum hasonló az Explorer-ablak listanézetéhez.
Egy CMFCShellTreeCtrl objektum társítható egy objektumhoz egy CMFCShellListCtrl teljes Explorer-ablak létrehozásához. Ezután a kijelölt elem CMFCShellTreeCtrl kiválasztásával az CMFCShellListCtrl objektum listázni fogja a kijelölt elem tartalmát.
Example
Az alábbi példa bemutatja, hogyan hozhat létre objektumot az CMFCShellListCtrl osztályból, és hogyan jelenítheti meg az aktuálisan megjelenített mappa szülőmappáját. Ez a kódrészlet az Explorer-minta része.
CMFCShellListCtrl m_wndList;
CRect rectDummy(0, 0, 0, 0);
// The this pointer points to CExplorerView class which extends the CView class.
m_wndList.Create(WS_CHILD | WS_VISIBLE | LVS_REPORT, rectDummy, this, 1);
m_wndList.DisplayParentFolder();
Öröklési hierarchia
CMFCShellListCtrl
Requirements
Fejléc: afxshelllistCtrl.h
CMFCShellListCtrl::D isplayFolder
Megjeleníti a megadott mappában található elemek listáját.
virtual HRESULT DisplayFolder(LPCTSTR lpszPath);
virtual HRESULT DisplayFolder(LPAFX_SHELLITEMINFO lpItemInfo);
Paraméterek
lpszPath
[in] Egy mappa elérési útját tartalmazó sztring.
lpItemInfo
[in] Egy megjelenítendő mappát leíró struktúra mutatója LPAFX_SHELLITEMINFO .
Visszaadott érték
sikeres S_OK; E_FAIL ellenkező esetben.
CMFCShellListCtrl::D isplayParentFolder
Frissíti a CMFCShellListCtrl objektumot az aktuálisan megjelenített mappa szülőmappájának megjelenítéséhez.
virtual HRESULT DisplayParentFolder();
Visszaadott érték
sikeres S_OK; E_FAIL ellenkező esetben.
CMFCShellListCtrl::EnableShellContextMenu
Engedélyezi a helyi menüt.
void EnableShellContextMenu(BOOL bEnable = TRUE);
Paraméterek
bEnable
[in] Logikai érték, amely meghatározza, hogy a keretrendszer engedélyezi-e a helyi menüt.
CMFCShellListCtrl::GetCurrentFolder
Lekéri az aktuálisan kijelölt mappa elérési útját a CMFCShellListCtrl objektumban.
BOOL GetCurrentFolder(CString& strPath) const;
Paraméterek
strPath
[kifelé] Hivatkozás egy sztringparaméterre, ahol a metódus megírja az elérési utat.
Visszaadott érték
Nonzero, ha sikeres; 0 egyéb esetben.
Megjegyzések
Ez a metódus sikertelen, ha nincs kijelölve mappa a CMFCShellListCtrl.
CMFCShellListCtrl::GetCurrentFolderName
Lekéri az aktuálisan kijelölt mappa nevét a CMFCShellListCtrl objektumban.
BOOL GetCurrentFolderName(CString& strName) const;
Paraméterek
strName
[kifelé] Hivatkozás egy sztringparaméterre, amelyben a metódus írja a nevet.
Visszaadott érték
Nonzero, ha sikeres; 0 egyéb esetben.
Megjegyzések
Ez a metódus sikertelen, ha nincs kijelölve mappa a CMFCShellListCtrl.
CMFCShellListCtrl::GetCurrentItemIdList
Az aktuálisan kijelölt elem PIDL-jének értékét adja vissza.
LPITEMIDLIST GetCurrentItemIdList() const;
Visszaadott érték
Az aktuális elem PIDL-je.
CMFCShellListCtrl::GetCurrentShellFolder
A CMFCShellListCtrl objektum jelenleg kijelölt elemére mutató mutatót kap.
const IShellFolder* GetCurrentShellFolder() const;
Visszaadott érték
A kijelölt objektum IShellFolder-felületére mutató mutató.
Megjegyzések
Ez a metódus null értéket ad vissza, ha jelenleg nincs kijelölve objektum.
CMFCShellListCtrl::GetItemPath
Lekéri egy elem elérési útját.
BOOL GetItemPath(
CString& strPath,
int iItem) const;
Paraméterek
strPath
[kifelé] Hivatkozás az elérési utat fogadó sztringre.
iItem
[in] A listaelem indexe.
Visszaadott érték
IGAZ, ha sikeres; HAMIS egyéb esetben.
Megjegyzések
Az iItem által megadott index a CMFCShellListCtrl osztályobjektum által jelenleg megjelenített elemeken alapul.
CMFCShellListCtrl::GetItemTypes
A CMFCShellListCtrl objektum által megjelenített elemek típusát adja vissza.
SHCONTF GetItemTypes() const;
Visszaadott érték
SHCONTF-érték, amely a listában felsorolt CMFCShellListCtrlelemek típusát tartalmazza.
Megjegyzések
A felsorolt CMFCShellListCtrlelemek típusának beállításához hívja meg a CMFCShellListCtrl::SetItemTypes parancsot.
CMFCShellListCtrl::IsDesktop
Meghatározza, hogy a CMFCShellListCtrl objektumban megjelenő mappa az asztali mappa-e.
BOOL IsDesktop() const;
Visszaadott érték
IGAZ, ha a megjelenített mappa az asztali mappa; HAMIS egyéb esetben.
CMFCShellListCtrl::OnCompareItems
További részletekért tekintse meg a Visual Studio-telepítés VC\atlmfc\src\mfc mappájában található forráskódot.
virtual int OnCompareItems(
LPARAM lParam1,
LPARAM lParam2,
int iColumn);
Paraméterek
[in] lParam1
[in] lParam2
[in] iColumn
Visszaadott érték
Megjegyzések
CMFCShellListCtrl::OnFormatFileDate
A keretrendszer meghívja ezt a metódust, amikor sztringgé kell konvertálnia az objektumhoz társított dátumot.
virtual void OnFormatFileDate(
const CTime& tmFile,
CString& str);
Paraméterek
tmFile
[in] A fájlhoz társított dátum.
Str
[kifelé] A formázott fájldátumot tartalmazó sztring.
Megjegyzések
Amikor egy CMFCShellListCtrl osztályobjektum megjeleníti a fájlhoz társított dátumot, a dátumot sztringformátummá kell alakítania. A CMFCShellListCtrl metódus ezt a módszert használja az átalakítás elvégzéséhez. Ez a metódus alapértelmezés szerint az aktuális területi beállítással formázza a dátumot sztringgé.
CMFCShellListCtrl::OnFormatFileSize
A keretrendszer meghívja ezt a metódust, amikor egy objektum méretét sztringgé alakítja.
virtual void OnFormatFileSize(
long lFileSize,
CString& str);
Paraméterek
lFileSize
[in] A keretrendszer által megjelenített fájl mérete.
Str
[kifelé] A formázott fájlméretet tartalmazó sztring.
Megjegyzések
Amikor egy CMFCShellListCtrl osztályobjektumnak meg kell jelenítenie egy fájl méretét, sztringformátummá kell alakítania a fájlméretet. A CMFCShellListCtrl metódus ezt a módszert használja az átalakítás elvégzéséhez. Ez a módszer alapértelmezés szerint bájtról kilobájtra konvertálja a fájlméretet, majd az aktuális területi beállítással sztringgé formázza a méretet.
CMFCShellListCtrl::OnGetItemIcon
A keretrendszer meghívja ezt a metódust, hogy lekérje a rendszerhéj-listaelemhez társított ikont.
virtual int OnGetItemIcon(
int iItem,
LPAFX_SHELLITEMINFO pItem);
Paraméterek
iItem
[in] Az elemindex.
pItem
[in] Az elemet leíró LPAFX_SHELLITEMINFO paraméter.
Visszaadott érték
Az ikonkép indexe, ha sikeres; -1, ha a függvény meghibásodik.
Megjegyzések
Az ikon képindexe a rendszerképek listáján alapul.
Ez a módszer alapértelmezés szerint a pItem paraméterre támaszkodik. Az iItem értéke nem használatos az alapértelmezett implementációban. Az iItem használatával egyéni viselkedést valósíthat meg.
CMFCShellListCtrl::OnGetItemText
A keretrendszer meghívja ezt a metódust, amikor le kell kérnie egy rendszerhéjelem szövegét.
virtual CString OnGetItemText(
int iItem,
int iColumn,
LPAFX_SHELLITEMINFO pItem);
Paraméterek
iItem
[in] Az elemindex.
iColumn
[in] Az érdekes oszlop.
pItem
[in] Az elemet leíró LPAFX_SHELLITEMINFO paraméter.
Visszaadott érték
Az CString elemhez társított szöveget tartalmazó szöveg.
Megjegyzések
Előfordulhat, hogy az CMFCShellListCtrl objektum minden eleme egy vagy több oszlopban tartalmaz szöveget. Amikor a keretrendszer meghívja ezt a metódust, megadja azt az oszlopot, amely érdekli. Ha manuálisan hívja meg ezt a függvényt, meg kell adnia a kívánt oszlopot is.
Ez a módszer alapértelmezés szerint a pItem paraméterre támaszkodik annak meghatározásához, hogy melyik elemet kell feldolgozni. Az iItem értéke nem használatos az alapértelmezett implementációban.
CMFCShellListCtrl::OnSetColumns
A keretrendszer ezt a metódust hívja meg az oszlopok nevének beállításakor.
virtual void OnSetColumns();
Megjegyzések
A keretrendszer alapértelmezés szerint négy oszlopot hoz létre egy CMFCShellListCtrl objektumban. Ezeknek az oszlopoknak a neve a Név, a Méret, a Típus és a Módosított. Ezt a módszert felülbírálhatja az oszlopok és a nevük számának testreszabásához.
CMFCShellListCtrl::Frissítés
Frissíti és újrafesti a CMFCShellListCtrl objektumot .
virtual HRESULT Refresh();
Visszaadott érték
S_OK ha sikeres; egyéb esetben hibaértéket.
Megjegyzések
Hívja meg ezt a metódust az objektum által megjelenített elemek listájának frissítéséhez CMFCShellListCtrl .
CMFCShellListCtrl::SetItemTypes
Beállítja a CMFCShellListCtrl objektumban felsorolt elemek típusát.
void SetItemTypes(SHCONTF nTypes);
Paraméterek
nTypes
[in] Az objektum által CMFCShellListCtrl támogatott elemtípusok listája.
Megjegyzések
További információ az elemtípusok listájáról: SHCONTF.
Lásd még
hierarchiadiagram
osztályok
CMFCListCtrl osztály
CMFCShellTreeCtrl osztály