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

Vedere anche

Riferimenti

Classe CWnd

Grafico della gerarchia

CWnd::DlgDirList

CWnd::DlgDirSelect

DlgDirListComboBox