Struttura BROWSEINFOW (shlobj_core.h)

Contiene i parametri per la funzione SHBrowseForFolder e riceve informazioni sulla cartella selezionata dall'utente.

Sintassi

typedef struct _browseinfoW {
  HWND              hwndOwner;
  PCIDLIST_ABSOLUTE pidlRoot;
  LPWSTR            pszDisplayName;
  LPCWSTR           lpszTitle;
  UINT              ulFlags;
  BFFCALLBACK       lpfn;
  LPARAM            lParam;
  int               iImage;
} BROWSEINFOW, *PBROWSEINFOW, *LPBROWSEINFOW;

Members

hwndOwner

Tipo: HWND

Handle per la finestra di proprietario della finestra di dialogo.

pidlRoot

Tipo: PCIDLIST_ABSOLUTE

PIDL che specifica il percorso della cartella radice da cui iniziare l'esplorazione. Solo la cartella specificata e le relative sottocartelle nella gerarchia dello spazio dei nomi vengono visualizzate nella finestra di dialogo. Questo membro può essere NULL; in tal caso, viene usata una posizione predefinita.

pszDisplayName

Tipo: LPTSTR

Puntatore a un buffer per ricevere il nome visualizzato della cartella selezionata dall'utente. Si presuppone che le dimensioni di questo buffer siano MAX_PATH caratteri.

lpszTitle

Tipo: LPCTSTR

Puntatore a una stringa con terminazione Null visualizzata sopra il controllo visualizzazione albero nella finestra di dialogo. Questa stringa può essere usata per specificare le istruzioni per l'utente.

ulFlags

Tipo: UINT

Flag che specificano le opzioni per la finestra di dialogo. Questo membro può essere 0 o una combinazione dei valori seguenti. I numeri di versione fanno riferimento alla versione minima di Shell32.dll necessaria per SHBrowseForFolder per riconoscere i flag aggiunti nelle versioni successive. Per altre informazioni, vedere Shell e Versioni dei controlli comuni .

BIF_RETURNONLYFSDIRS (0x00000001)

0x00000001. Restituisce solo le directory del file system. Se l'utente seleziona cartelle che non fanno parte del file system, il pulsante OK è disattivato.

Nota Il pulsante OK rimane abilitato per gli elementi "\\server", nonché per gli elementi della directory "\\server\share". Tuttavia, se l'utente seleziona un elemento "\\server", il passaggio del FILE PIDL restituito da SHBrowseForFolder a SHGetPathFromIDList ha esito negativo.
 

BIF_DONTGOBELOWDOMAIN (0x00000002)

0x00000002. Non includere cartelle di rete al di sotto del livello di dominio nel controllo visualizzazione albero della finestra di dialogo.

BIF_STATUSTEXT (0x00000004)

0x00000004. Includere un'area di stato nella finestra di dialogo. La funzione di callback può impostare il testo di stato inviando messaggi alla finestra di dialogo. Questo flag non è supportato quando viene specificato BIF_NEWDIALOGSTYLE.

BIF_RETURNFSANCESTORS (0x00000008)

0x00000008. Restituisce solo i predecessori del file system. Un predecessore è una sottocartella che si trova sotto la cartella radice nella gerarchia dello spazio dei nomi. Se l'utente seleziona un predecessore della cartella radice che non fa parte del file system, il pulsante OK è disattivato.

BIF_EDITBOX (0x00000010)

0x00000010. Versione 4.71. Includere un controllo di modifica nella finestra di dialogo Sfoglia che consente all'utente di digitare il nome di un elemento.

BIF_VALIDATE (0x00000020)

0x00000020. Versione 4.71. Se l'utente digita un nome non valido nella casella di modifica, la finestra di dialogo Sfoglia chiama BrowseCallbackProc dell'applicazione con il messaggio BFFM_VALIDATEFAILED . Questo flag viene ignorato se non viene specificato BIF_EDITBOX.

BIF_NEWDIALOGSTYLE (0x00000040)

0x00000040. Versione 5.0. Usare la nuova interfaccia utente. L'impostazione di questo flag fornisce all'utente una finestra di dialogo più grande che può essere ridimensionata. La finestra di dialogo include diverse nuove funzionalità, tra cui: funzionalità di trascinamento della selezione all'interno della finestra di dialogo, riordinamento, menu di scelta rapida, nuove cartelle, eliminazione e altri comandi di menu di scelta rapida.

Nota Se COM viene inizializzato tramite CoInitializeEx con il flag COINIT_MULTITHREADED impostato, SHBrowseForFolder ha esito negativo se viene passato BIF_NEWDIALOGSTYLE.
 

BIF_BROWSEINCLUDEURLS (0x00000080)

0x00000080. Versione 5.0. La finestra di dialogo Sfoglia può visualizzare gli URL. È necessario impostare anche i flag BIF_USENEWUI e BIF_BROWSEINCLUDEFILES. Se uno di questi tre flag non è impostato, la finestra di dialogo del browser rifiuta gli URL. Anche quando questi flag sono impostati, la finestra di dialogo Sfoglia visualizza gli URL solo se la cartella che contiene l'elemento selezionato supporta gli URL. Quando viene chiamato il metodo IShellFolder::GetAttributesOf della cartella per richiedere gli attributi dell'elemento selezionato, la cartella deve impostare il flag dell'attributo SFGAO_FOLDER . In caso contrario, la finestra di dialogo Sfoglia non visualizzerà l'URL.

BIF_USENEWUI

Versione 5.0. Usare la nuova interfaccia utente, inclusa una casella di modifica. Questo flag equivale a BIF_EDITBOX | BIF_NEWDIALOGSTYLE.

Nota Se COM viene inizializzato tramite CoInitializeEx con il flag COINIT_MULTITHREADED impostato, SHBrowseForFolder ha esito negativo se viene passato BIF_USENEWUI.
 

BIF_UAHINT (0x00000100)

0x00000100. Versione 6.0. In combinazione con BIF_NEWDIALOGSTYLE, aggiunge un hint di utilizzo alla finestra di dialogo, al posto della casella di modifica. BIF_EDITBOX esegue l'override di questo flag.

BIF_NONEWFOLDERBUTTON (0x00000200)

0x00000200. Versione 6.0. Non includere il pulsante Nuova cartella nella finestra di dialogo Sfoglia.

BIF_NOTRANSLATETARGETS (0x00000400)

0x00000400. Versione 6.0. Quando l'elemento selezionato è un collegamento, restituire il PIDL del collegamento stesso anziché la destinazione.

BIF_BROWSEFORCOMPUTER (0x00001000)

0x00001000. Restituisce solo computer. Se l'utente non seleziona un computer, il pulsante OK viene disattivato.

BIF_BROWSEFORPRINTER (0x00002000)

0x00002000. Consente solo la selezione di stampanti. Se l'utente non seleziona una stampante, il pulsante OK viene disattivato.

Nei sistemi Windows XP e versioni successive, la procedura consigliata consiste nell'usare una finestra di dialogo di tipo Windows XP, impostando la radice della finestra di dialogo sulla cartella Stampanti e fax (CSIDL_PRINTERS).

BIF_BROWSEINCLUDEFILES (0x00004000)

0x00004000. Versione 4.71. Nella finestra di dialogo Sfoglia vengono visualizzati i file e le cartelle.

BIF_SHAREABLE (0x00008000)

0x00008000. Versione 5.0. La finestra di dialogo Sfoglia può visualizzare risorse condivisibili nei sistemi remoti. Ciò è destinato alle applicazioni che vogliono esporre condivisioni remote in un sistema locale. È necessario impostare anche il flag BIF_NEWDIALOGSTYLE.

BIF_BROWSEFILEJUNCTIONS (0x00010000)

0x00010000. Windows 7 e versioni successive. Consentire l'esplorazione delle giunzioni di cartelle, ad esempio una libreria o un file compresso con un'estensione del nome file .zip.

lpfn

Tipo: BFFCALLBACK

Puntatore a una funzione definita dall'applicazione che la finestra di dialogo chiama quando si verifica un evento. Per altre informazioni, vedere la funzione BrowseCallbackProc . Questo membro può essere NULL.

lParam

Tipo: LPARAM

Valore definito dall'applicazione che la finestra di dialogo passa alla funzione di callback, se viene specificata in lpfn.

iImage

Tipo: int

Valore intero che riceve l'indice dell'immagine associata alla cartella selezionata, archiviata nell'elenco di immagini di sistema.

Commenti

Nota

L'intestazione shlobj_core.h definisce BROWSEINFO come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

Requisito Valore
Client minimo supportato Windows XP, Windows 7 [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Intestazione shlobj_core.h (includere Shlobj.h, Shlobj_core.h)