Condividi tramite


Struttura BROWSEINFOA (shlobj_core.h)

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

Sintassi

typedef struct _browseinfoA {
  HWND              hwndOwner;
  PCIDLIST_ABSOLUTE pidlRoot;
  LPSTR             pszDisplayName;
  LPCSTR            lpszTitle;
  UINT              ulFlags;
  BFFCALLBACK       lpfn;
  LPARAM            lParam;
  int               iImage;
} BROWSEINFOA, *PBROWSEINFOA, *LPBROWSEINFOA;

Members

hwndOwner

Tipo: HWND

Handle alla finestra proprietario della finestra di dialogo.

pidlRoot

Tipo: PCIDLIST_ABSOLUTE

PiDL che specifica il percorso della cartella radice da cui iniziare a esplorare. Nella finestra di dialogo vengono visualizzate solo le cartelle specificate e le relative sottocartelle nella gerarchia dello spazio dei nomi. Questo membro può essere NULL; in questo 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

Contrassegni 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 comuni dei controlli .

BIF_RETURNONLYFSDIRS (0x00000001)

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

Nota Il pulsante OK rimane abilitato per gli elementi "\\server", nonché per gli elementi di directory "\\server\share". Tuttavia, se l'utente seleziona un elemento "\\server", passando il 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 dello 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 viene 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 SfogliaCallbackProc 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 di 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 vengono impostati questi flag, la finestra di dialogo sfoglia visualizza GLI URL solo se la cartella contenente l'elemento selezionato supporta GLI URL. Quando il metodo IShellFolder::GetAttributesOf della cartella viene chiamato per richiedere gli attributi dell'elemento selezionato, la cartella deve impostare il flag di 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 set di flag COINIT_MULTITHREADED, SHBrowseForFolder ha esito negativo se viene passato BIF_USENEWUI.
 

BIF_UAHINT (0x00000100)

0x00000100. Versione 6.0. Se combinato con BIF_NEWDIALOGSTYLE, aggiunge un hint di utilizzo alla finestra di dialogo, al posto della casella di modifica. BIF_EDITBOX esegue l'override del 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 relativa destinazione.

BIF_BROWSEFORCOMPUTER (0x00001000)

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

BIF_BROWSEFORPRINTER (0x00002000)

0x00002000. Consenti solo la selezione delle 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 in stile Windows XP, impostando la radice della finestra di dialogo sulla cartella Stampanti e fax (CSIDL_PRINTERS).

BIF_BROWSEINCLUDEFILES (0x00004000)

0x00004000. Versione 4.71. La finestra di dialogo Sfoglia visualizza i file e le cartelle.

BIF_SHAREABLE (0x00008000)

0x00008000. Versione 5.0. La finestra di dialogo Sfoglia può visualizzare le risorse condivisibili nei sistemi remoti. Questa opzione è destinata alle applicazioni che desiderano 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 di 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 ne viene specificata una 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 indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

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 (include Shlobj.h, Shlobj_core.h)