Megosztás a következőn keresztül:


CMFCShellListCtrl osztály

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

CObject

CCmdTarget

CWnd

CListCtrl

CMFCListCtrl

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