Condividi tramite


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 dei 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, \\nomecomputer\nomecon sharename).

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 del file deve contenere almeno un carattere jolly (? o ). Se la stringa non include un nome di 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
DDL_ARCHIVE
Include i file archiviati.
DDL_DIRECTORY
Include sottodirectory, racchiuse tra parentesi quadre ([ ]).
DDL_DRIVES
Tutte le unità mappate vengono aggiunte all'elenco. Le unità sono elencate nel formato [-x-], dove x è la lettera di unità.
DDL_EXCLUSIVE
Include solo i file con gli attributi specificati. Per impostazione predefinita, i file di lettura/scrittura vengono elencati anche se DDL_READWRITE non è specificato.
DDL_HIDDEN
Include file nascosti.
DDL_READONLY
Include file di sola lettura.
DDL_READWRITE
Include file di lettura/scrittura senza attributi aggiuntivi. Questa è l'impostazione predefinita.
DDL_SYSTEM
Include i file di sistema.
DDL_POSTMSGS
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 ottenere informazioni estese sull'errore, chiamare GetLastError.

Osservazioni

Se lpPathSpec specifica una directory, DlgDirListComboBox modifica la directory corrente nella directory specificata prima di riempire la casella combinata. Il testo del controllo statico identificato dal parametro nIDStaticPath è 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. Questo vale anche se la directory radice ha attributi nascosti o di sistema e i flag DDL_HIDDEN e DDL_SYSTEM non vengono 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 la presenza di lpPathSpec indicare 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: l'elenco visualizza i nomi di file lunghi, se presenti.

Windows 95 o versione successiva: l'elenco visualizza nomi di file brevi (modulo 8.3). È possibile usare le funzioni di SHGetFileInfo o GetFullPathName per ottenere il nome di file lungo corrispondente.

Windows 95 o versione successiva: DlgDirListComboBoxW è supportato dal livello Microsoft per Unicode. A tale scopo, è necessario aggiungere determinati file all'applicazione, come descritto in Livello Microsoft 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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
piattaforma di destinazione Finestre
intestazione winuser.h (include Windows.h)
libreria User32.lib
dll User32.dll

Vedere anche

DlgDirList

DlgDirSelectComboBoxEx

riferimento