Share via


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
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 non è specificato DDL_READWRITE.
DDL_HIDDEN
Include file nascosti.
DDL_READONLY
Include file di sola lettura.
DDL_READWRITE
Include file di lettura/scrittura senza attributi aggiuntivi. Si tratta dell'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 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

DlgDirList

DlgDirSelectComboBoxEx

Riferimento