Condividi tramite


Classe CMFCShellListCtrl

La CMFCShellListCtrl classe fornisce la funzionalità di controllo elenco di Windows e la espande includendo la possibilità di visualizzare un elenco di elementi della shell.

Sintassi

class CMFCShellListCtrl : public CMFCListCtrl

Membri

Metodi pubblici

Nome Descrizione
CMFCShellListCtrl::D isplayFolder Visualizza un elenco di elementi contenuti in una cartella specificata.
CMFCShellListCtrl::D isplayParentFolder Visualizza un elenco di elementi contenuti nella cartella padre della cartella attualmente visualizzata.
CMFCShellListCtrl::EnableShellContextMenu Abilita o disabilita il menu di scelta rapida.
CMFCShellListCtrl::GetCurrentFolder Recupera il percorso della cartella corrente.
CMFCShellListCtrl::GetCurrentFolderName Recupera il nome della cartella corrente.
CMFCShellListCtrl::GetCurrentItemIdList Restituisce il PIDL dell'elemento di controllo elenco corrente.
CMFCShellListCtrl::GetCurrentShellFolder Restituisce un puntatore alla cartella shell corrente.
CMFCShellListCtrl::GetItemPath Restituisce il percorso testuale di un elemento.
CMFCShellListCtrl::GetItemTypes Restituisce i tipi di elemento shell visualizzati dal controllo elenco.
CMFCShellListCtrl::IsDesktop Controlla se la cartella attualmente selezionata è la cartella desktop.
CMFCShellListCtrl::OnCompareItems Il framework chiama questo metodo quando confronta due elementi. (sostituzioni )CMFCListCtrl::OnCompareItems.
CMFCShellListCtrl::OnFormatFileDate Chiamato quando il framework recupera la data del file visualizzata dal controllo elenco.
CMFCShellListCtrl::OnFormatFileSize Chiamato quando il framework converte le dimensioni del file di un controllo elenco.
CMFCShellListCtrl::OnGetItemIcon Chiamato quando il framework recupera l'icona di un elemento di controllo elenco.
CMFCShellListCtrl::OnGetItemText Chiamato quando il framework converte il testo di un elemento del controllo elenco.
CMFCShellListCtrl::OnSetColumns Chiamato dal framework quando imposta i nomi delle colonne.
CMFCShellListCtrl::Refresh Aggiorna e aggiorna il controllo elenco.
CMFCShellListCtrl::SetItemTypes Imposta il tipo di elementi visualizzati dal controllo elenco.

Osservazioni:

La CMFCShellListCtrl classe estende la funzionalità della classe CMFCListCtrl consentendo al programma di elencare gli elementi della shell di Windows. Il formato di visualizzazione utilizzato è simile a quello di una visualizzazione elenco per una finestra di Esplora risorse.

Un oggetto CMFCShellTreeCtrl può essere associato a un CMFCShellListCtrl oggetto per creare una finestra completa di Explorer. Quindi, selezionando un elemento in CMFCShellTreeCtrl , l'oggetto visualizzerà l'elenco CMFCShellListCtrl del contenuto dell'elemento selezionato.

Esempio

Nell'esempio seguente viene illustrato come creare un oggetto della CMFCShellListCtrl classe e come visualizzare la cartella padre della cartella attualmente visualizzata. Questo frammento di codice fa parte dell'esempio explorer.

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();

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CListCtrl

CMFCListCtrl

CMFCShellListCtrl

Requisiti

Intestazione: afxshelllistCtrl.h

CMFCShellListCtrl::D isplayFolder

Visualizza un elenco di elementi contenuti nella cartella specificata.

virtual HRESULT DisplayFolder(LPCTSTR lpszPath);
virtual HRESULT DisplayFolder(LPAFX_SHELLITEMINFO lpItemInfo);

Parametri

lpszPath
[in] Stringa contenente il percorso di una cartella.

lpItemInfo
[in] Puntatore a una LPAFX_SHELLITEMINFO struttura che descrive una cartella da visualizzare.

Valore restituito

S_OK se ha esito positivo; E_FAIL in caso contrario.

CMFCShellListCtrl::D isplayParentFolder

Aggiorna l'oggetto CMFCShellListCtrl per visualizzare la cartella padre della cartella attualmente visualizzata.

virtual HRESULT DisplayParentFolder();

Valore restituito

S_OK se ha esito positivo; E_FAIL in caso contrario.

CMFCShellListCtrl::EnableShellContextMenu

Abilita il menu di scelta rapida.

void EnableShellContextMenu(BOOL bEnable = TRUE);

Parametri

bEnable
[in] Valore booleano che specifica se il framework abilita il menu di scelta rapida.

CMFCShellListCtrl::GetCurrentFolder

Recupera il percorso della cartella attualmente selezionata nell'oggetto CMFCShellListCtrl .

BOOL GetCurrentFolder(CString& strPath) const;

Parametri

strPath
[out] Riferimento a un parametro stringa in cui il metodo scrive il percorso.

Valore restituito

Valore diverso da zero in caso di esito positivo, 0 in caso contrario.

Osservazioni:

Questo metodo ha esito negativo se non è selezionata alcuna cartella nell'oggetto CMFCShellListCtrl.

CMFCShellListCtrl::GetCurrentFolderName

Recupera il nome della cartella attualmente selezionata nell'oggetto CMFCShellListCtrl .

BOOL GetCurrentFolderName(CString& strName) const;

Parametri

strName
[out] Riferimento a un parametro stringa in cui il metodo scrive il nome.

Valore restituito

Valore diverso da zero in caso di esito positivo, 0 in caso contrario.

Osservazioni:

Questo metodo ha esito negativo se non è selezionata alcuna cartella nell'oggetto CMFCShellListCtrl.

CMFCShellListCtrl::GetCurrentItemIdList

Restituisce il PIDL dell'elemento attualmente selezionato.

LPITEMIDLIST GetCurrentItemIdList() const;

Valore restituito

PIDL dell'elemento corrente.

CMFCShellListCtrl::GetCurrentShellFolder

Ottiene un puntatore all'elemento attualmente selezionato nell'oggetto CMFCShellListCtrl .

const IShellFolder* GetCurrentShellFolder() const;

Valore restituito

Puntatore all'interfaccia IShellFolder per l'oggetto selezionato.

Osservazioni:

Questo metodo restituisce NULL se non è attualmente selezionato alcun oggetto.

CMFCShellListCtrl::GetItemPath

Recupera il percorso di un elemento.

BOOL GetItemPath(
    CString& strPath,
    int iItem) const;

Parametri

strPath
[out] Riferimento a una stringa che riceve il percorso.

iItem
[in] Indice dell'elemento di elenco.

Valore restituito

TRUE in caso di esito positivo, FALSE in caso contrario.

Osservazioni:

L'indice fornito da iItem si basa sugli elementi attualmente visualizzati dall'oggetto Classe CMFCShellListCtrl.

CMFCShellListCtrl::GetItemTypes

Restituisce il tipo di elementi visualizzati dall'oggetto CMFCShellListCtrl .

SHCONTF GetItemTypes() const;

Valore restituito

Valore SHCONTF che contiene il tipo di elementi elencati in CMFCShellListCtrl.

Osservazioni:

Per impostare il tipo di elementi elencati in un CMFCShellListCtrloggetto , chiamare CMFCShellListCtrl::SetItemTypes.

CMFCShellListCtrl::IsDesktop

Determina se la cartella visualizzata nell'oggetto CMFCShellListCtrl è la cartella desktop.

BOOL IsDesktop() const;

Valore restituito

TRUE se la cartella visualizzata è la cartella desktop; FALSE in caso contrario.

CMFCShellListCtrl::OnCompareItems

Per altri dettagli, vedere il codice sorgente che si trova nella cartella VC\atlmfc\src\mfc dell'installazione di Visual Studio.

virtual int OnCompareItems(
    LPARAM lParam1,
    LPARAM lParam2,
    int iColumn);

Parametri

[in] lParam1
[in] lParam2
[in] iColumn

Valore restituito

Osservazioni:

CMFCShellListCtrl::OnFormatFileDate

Il framework chiama questo metodo quando deve convertire la data associata a un oggetto in una stringa.

virtual void OnFormatFileDate(
    const CTime& tmFile,
    CString& str);

Parametri

tmFile
[in] Data associata a un file.

str
[out] Stringa che contiene la data del file formattato.

Osservazioni:

Quando un oggetto Classe CMFCShellListCtrl visualizza la data associata a un file, deve convertire tale data in un formato stringa. CMFCShellListCtrl Usa questo metodo per eseguire tale conversione. Per impostazione predefinita, questo metodo usa le impostazioni locali correnti per formattare la data in una stringa.

CMFCShellListCtrl::OnFormatFileSize

Il framework chiama questo metodo quando converte le dimensioni di un oggetto in una stringa.

virtual void OnFormatFileSize(
    long lFileSize,
    CString& str);

Parametri

lFileSize
[in] Dimensioni del file che verrà visualizzato dal framework.

str
[out] Stringa che contiene le dimensioni del file formattato.

Osservazioni:

Quando un oggetto Classe CMFCShellListCtrl deve visualizzare le dimensioni di un file, deve convertire le dimensioni del file in un formato stringa. CMFCShellListCtrl Usa questo metodo per eseguire tale conversione. Per impostazione predefinita, questo metodo converte le dimensioni del file da byte a kilobyte e quindi usa le impostazioni locali correnti per formattare le dimensioni in stringa.

CMFCShellListCtrl::OnGetItemIcon

Il framework chiama questo metodo per recuperare l'icona associata a una voce di elenco della shell.

virtual int OnGetItemIcon(
    int iItem,
    LPAFX_SHELLITEMINFO pItem);

Parametri

iItem
[in] Indice dell'elemento.

pItem
[in] Parametro LPAFX_SHELLITEMINFO che descrive l'elemento.

Valore restituito

Indice dell'immagine dell'icona in caso di esito positivo; -1 se la funzione ha esito negativo.

Osservazioni:

L'indice dell'immagine dell'icona si basa sull'elenco di immagini di sistema.

Per impostazione predefinita, questo metodo si basa sul parametro pItem . Il valore di iItem non viene usato nell'implementazione predefinita. È possibile usare iItem per implementare un comportamento personalizzato.

CMFCShellListCtrl::OnGetItemText

Il framework chiama questo metodo quando deve recuperare il testo di un elemento della shell.

virtual CString OnGetItemText(
    int iItem,
    int iColumn,
    LPAFX_SHELLITEMINFO pItem);

Parametri

iItem
[in] Indice dell'elemento.

iColumn
[in] Colonna di interesse.

pItem
[in] Parametro LPAFX_SHELLITEMINFO che descrive l'elemento.

Valore restituito

Oggetto CString contenente il testo associato all'elemento.

Osservazioni:

Ogni elemento dell'oggetto CMFCShellListCtrl può contenere testo in una o più colonne. Quando il framework chiama questo metodo, specifica la colonna a cui è interessato. Se si chiama questa funzione manualmente, è necessario specificare anche la colonna a cui si è interessati.

Per impostazione predefinita, questo metodo si basa sul parametro pItem per determinare l'elemento da elaborare. Il valore di iItem non viene usato nell'implementazione predefinita.

CMFCShellListCtrl::OnSetColumns

Il framework chiama questo metodo quando imposta i nomi delle colonne.

virtual void OnSetColumns();

Osservazioni:

Per impostazione predefinita, il framework crea quattro colonne in un CMFCShellListCtrl oggetto . I nomi di queste colonne sono Name, Size, Type e Modified. È possibile eseguire l'override di questo metodo per personalizzare il numero di colonne e i relativi nomi.

CMFCShellListCtrl::Refresh

Aggiorna e aggiorna l'oggetto CMFCShellListCtrl .

virtual HRESULT Refresh();

Valore restituito

S_OK se ha esito positivo; in caso contrario, un valore di errore.

Osservazioni:

Chiamare questo metodo per aggiornare l'elenco di elementi visualizzati dall'oggetto CMFCShellListCtrl .

CMFCShellListCtrl::SetItemTypes

Imposta il tipo di elementi elencati nell'oggetto CMFCShellListCtrl .

void SetItemTypes(SHCONTF nTypes);

Parametri

nTypes
[in] Elenco di tipi di elementi supportati dall'oggetto CMFCShellListCtrl .

Osservazioni:

Per altre informazioni sull'elenco dei tipi di elementi, vedere SHCONTF.

Vedi anche

Grafico della gerarchia
Classi
Classe CMFCListCtrl
Classe CMFCShellTreeCtrl