CWnd::DlgDirListComboBox
Riempie la casella di riepilogo di una casella combinata di file o della directory.
int DlgDirListComboBox(
LPTSTR lpPathSpec,
int nIDComboBox,
int nIDStaticPath,
UINT nFileType
);
Parametri
lpPathSpec
Punta a una stringa con terminazione null che contiene il percorso o il nome file.DlgDirListComboBox modifica questa stringa, pertanto tali dati non devono essere sotto forma di stringa letterale.Vedere la sezione "note".nIDComboBox
Specifica l'identificatore di una casella combinata in una finestra di dialogo.Se nIDComboBox è 0, DlgDirListComboBox presuppone che nessuna casella combinata esista e non tentare di riempire uno.nIDStaticPath
Specifica l'identificatore del controllo del elettricità- testo utilizzato per visualizzare l'unità e la directory corrente.Se nIDStaticPath è 0, DlgDirListComboBox presuppone che non vi sia tale controllo di testo presente.nFileType
Specifica gli attributi del file di DOS di file da visualizzare.Può essere qualsiasi combinazione dei valori seguenti:File di dati di lettura e scrittura diDDL_READWRITE senza attributi aggiuntivi.
File di sola lettura diDDL_READONLY.
File nascostiDDL_HIDDEN.
File di sistemaDDL_SYSTEM.
Directory diDDL_DIRECTORY.
File diDDL_ARCHIVE.
DDL_POSTMSGS Flag diCB_DIR.Se il flag CB_DIR è impostato, Windows posiziona i messaggi generati da DlgDirListComboBox nella coda dell'applicazione; in caso contrario, vengono inviati direttamente alla routine della finestra di dialogo.
Unità diDDL_DRIVES.Se il flag DDL_DRIVES è impostato, il flag DDL_EXCLUSIVE viene impostato automaticamente.Di conseguenza, per creare una visualizzazione directory che include unità e i file, è necessario chiamare due volte DlgDirListComboBox : una volta con il flag DDL_DRIVES e una volta con flag per il resto dell'elenco.
Bit esclusivo diDDL_EXCLUSIVE.Se il bit esclusivo è impostato, solo i file del tipo specificato sono elencati, gli altri file diretti e i file del tipo specificato sono elencati.
Valore restituito
Specifica il risultato della funzione.È diverso da zero se l'elenco è stato fatto, anche un elenco vuoto.I 0 valori restituiti suggerisce che la stringa di input non sia contenuto un percorso di ricerca valido.
Note
DlgDirListComboBox invia i messaggi CB_DIR e CB_RESETCONTENT alla casella combinata.Riempie la casella di riepilogo della casella combinata specificata da nIDComboBox di nomi di tutti i file che corrispondono al percorso specificato da lpPathSpec.
Il parametro lpPathSpec ha il formato seguente:
[drive:] [ [\u]directory[\idirectory]... \u] [filename]
In questo esempio, drive è una lettera di unità, directory è un nome di directory valido e il nome file è un nome di file valido che deve contenere almeno un carattere jolly.I caratteri jolly in un punto interrogativo (?), ovvero la corrispondenza di qualsiasi carattere e un asterisco (*), ovvero la corrispondenza qualsiasi numero di caratteri.
Se si specifica una stringa di lunghezza zero per lpPathSpec, la directory corrente verrà utilizzata e lpPathSpec non verrà modificato.Se si specifica solo un nome di directory ma non include alcuna specifica di file, la stringa verrà modificata "*".
Se lpPathSpec include un'unità e/o un nome di directory, unità e la directory corrente vengono modificate nell'unità e la directory specificate prima che la casella di riepilogo sia completata.Il controllo testo identificato da nIDStaticPath viene aggiornato con la nuova unità e/o nome della directory.
Dopo che la casella di riepilogo della casella combinata viene popolata, lpPathSpec viene aggiornato rimuovendo la parte della directory e/o di unità percorso.
Esempio
// If pDialog points to a CDialog object with a combo box
// with the identifier IDC_DIRCOMBO, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR szPath[MAX_PATH];
_tcsncpy_s(szPath, MAX_PATH, _T("C:\\"), MAX_PATH);
pDialog->DlgDirListComboBox(szPath, IDC_DIRCOMBO, 0, DDL_EXCLUSIVE |
DDL_DIRECTORY);
// Note that the first argument is a string and not a string
// literal. This is necessary because DlgDirListComboBox
// modifies the supplied string. Passing a string literal
// will result in an access violation.
Requisiti
Header: afxwin.h