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à
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 CMFCShellListCtrl
oggetto , 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