Funzione DlgDirListComboBoxA (winuser.h)
Sostituisce il contenuto di una casella combinata con i nomi delle sottodirectory e dei file in una directory specificata. È possibile filtrare l'elenco di nomi specificando un set di attributi di file. L'elenco dei nomi può includere lettere di unità mappate.
Sintassi
int DlgDirListComboBoxA(
[in] HWND hDlg,
[in, out] LPSTR lpPathSpec,
[in] int nIDComboBox,
[in] int nIDStaticPath,
[in] UINT uFiletype
);
Parametri
[in] hDlg
Tipo: HWND
Handle per la finestra di dialogo contenente la casella combinata.
[in, out] lpPathSpec
Tipo: LPTSTR
Puntatore a un buffer contenente una stringa con terminazione Null che specifica un percorso assoluto, un percorso relativo o un nome di file. Un percorso assoluto può iniziare con una lettera di unità (ad esempio, d:) o un nome UNC (ad esempio, \\nomecomputernome \condiviso).
La funzione suddivide la stringa in una directory e in un nome di file. La funzione cerca nella directory i nomi che corrispondono al nome del file. Se la stringa non specifica una directory, la funzione cerca nella directory corrente.
Se la stringa include un nome file, il nome file deve contenere almeno un carattere jolly (? o ). Se la stringa non include un nome file, la funzione si comporta come se fosse stato specificato il carattere jolly asterisco () come nome file. Tutti i nomi nella directory specificata che corrispondono al nome file e hanno gli attributi specificati dal parametro uFiletype vengono aggiunti all'elenco visualizzato nella casella combinata.
[in] nIDComboBox
Tipo: int
Identificatore di una casella combinata nella finestra di dialogo hDlg . Se questo parametro è zero, DlgDirListComboBox non tenta di riempire una casella combinata.
[in] nIDStaticPath
Tipo: int
Identificatore di un controllo statico nella finestra di dialogo hDlg . DlgDirListComboBox imposta il testo di questo controllo per visualizzare l'unità e la directory correnti. Questo parametro può essere zero se non si desidera visualizzare l'unità e la directory correnti.
[in] uFiletype
Tipo: UINT
Set di flag di bit che specifica gli attributi dei file o delle directory da aggiungere alla casella combinata. Questo parametro può essere una combinazione dei valori seguenti.
Valore | Significato |
---|---|
|
Include i file archiviati. |
|
Include sottodirectory, racchiuse tra parentesi quadre ([ ]). |
|
Tutte le unità mappate vengono aggiunte all'elenco. Le unità sono elencate nel formato [-x-], dove x è la lettera di unità. |
|
Include solo i file con gli attributi specificati. Per impostazione predefinita, i file di lettura/scrittura vengono elencati anche se non è specificato DDL_READWRITE. |
|
Include file nascosti. |
|
Include file di sola lettura. |
|
Include file di lettura/scrittura senza attributi aggiuntivi. Si tratta dell'impostazione predefinita. |
|
Include i file di sistema. |
|
Se questo flag è impostato, DlgDirListComboBox usa la funzione PostMessage per inviare messaggi alla casella combinata. Se questo flag non è impostato, DlgDirListComboBox usa la funzione SendMessage . |
Valore restituito
Tipo: int
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Ad esempio, se la stringa specificata da lpPathSpec non è un percorso valido, la funzione ha esito negativo. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Se lpPathSpec specifica una directory, DlgDirListComboBox modifica la directory corrente nella directory specificata prima di compilare la casella combinata. Il testo del controllo statico identificato dal parametro nIDStaticPath viene impostato sul nome della nuova directory corrente.
DlgDirListComboBox invia i messaggi CB_RESETCONTENT e CB_DIR alla casella combinata.
Microsoft Windows NT 4.0 e versioni successive: se uFiletype include il flag DDL_DIRECTORY e lpPathSpec specifica una directory di primo livello, ad esempio C:\TEMP, la casella combinata includerà sempre una voce ".." per la directory radice. Ciò vale anche se la directory radice ha attributi nascosti o di sistema e i flag DDL_HIDDEN e DDL_SYSTEM non sono specificati. La directory radice di un volume NTFS ha attributi nascosti e di sistema.
Avviso di sicurezza: L'uso di questa funzione potrebbe compromettere erroneamente la sicurezza del programma. L'uso non corretto di questa funzione include lpPathSpec indica un buffer non scrivibile o un buffer senza terminazione Null. Prima di continuare, esaminare le considerazioni sulla sicurezza: Controlli di Microsoft Windows .
Microsoft Windows NT 4.0 e versioni successive: nell'elenco vengono visualizzati nomi di file lunghi, se presenti.
Windows 95 o versione successiva: l'elenco visualizza i nomi di file brevi (il formato 8.3). È possibile usare le funzioni SHGetFileInfo o GetFullPathName per ottenere il nome di file lungo corrispondente.
Windows 95 o versione successiva: DlgDirListComboBoxW è supportato da Microsoft Layer per Unicode. Per usarlo, è necessario aggiungere determinati file all'applicazione, come descritto in Microsoft Layer per Unicode nei sistemi Windows Me/98/95.
Nota
L'intestazione winuser.h definisce DlgDirListComboBox 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 Vista [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winuser.h (include Windows.h) |
Libreria | User32.lib |
DLL | User32.dll |
Vedi anche
Riferimento