Поделиться через


CWnd::DlgDirListComboBox

Заполняет список полей со списком с листингом файла или каталога.

int DlgDirListComboBox( 
   LPTSTR lpPathSpec, 
   int nIDComboBox, 
   int nIDStaticPath, 
   UINT nFileType  
);

Параметры

  • lpPathSpec
    Указывает на null- завершенной строке, которая содержит путь или имя файла. DlgDirListComboBox изменяет эту строку, поэтому эти данные не должны быть в формате строкового литерала. См. следующий раздел "примечания".

  • nIDComboBox
    Задает идентификатор поля со списком в диалоговом окне. Если nIDComboBox 0, то DlgDirListComboBox предполагается отсутствие поле со списком не существует, и не пытается заполнить одно.

  • nIDStaticPath
    Указывает идентификатор элемента управления статический- текста, используемого для отображения текущих диска и каталога. Если nIDStaticPath 0, то DlgDirListComboBox предполагается, что такое текстовый элемент управления отсутствует.

  • nFileType
    Определяет атрибуты файла DOS файлов для отображения. Может быть любым сочетанием следующих значений:

    • Файлы данных Чтени-записи DDL_READWRITE без дополнительных атрибутов.

    • Файл, доступный только для чтения DDL_READONLY.

    • Скрытые файлы DDL_HIDDEN.

    • Системные файлы DDL_SYSTEM.

    • Каталоги DDL_DIRECTORY.

    • DDL_ARCHIVE Файлов.

    • DDL_POSTMSGS   Пометить CB_DIR. Если пометить CB_DIR установлен, то Windows устанавливает сообщения, созданные DlgDirListComboBox в очередь приложения; в противном случае они отправлены непосредственно в процедуре диалогового окна.

    • Диски DDL_DRIVES. Если пометить DDL_DRIVES установлен, то пометить DDL_EXCLUSIVE устанавливается автоматически. Поэтому, чтобы создать список каталога, который включает диски и файлы, необходимо вызвать DlgDirListComboBox дважды: пометить раз, присвоив DDL_DRIVES и раз с флагами для остальной части списка.

    • Бит монопольного DDL_EXCLUSIVE. Если монопольный бит устанавливается только файлы указанного типа перечислены; в противном случае перечислены обычные файлы и файлы указанного типа.

Возвращаемое значение

Определяет результат функции. Он не равен нулю, если список выполненной, то даже пустой список. 0 Возвращаемых значений означает, что входная строка не содержит допустимый путь поиска.

Заметки

DlgDirListComboBox отправляет сообщения CB_RESETCONTENT и CB_DIR в поле со списком. Он заполняет список полей со списком, указанного nIDComboBox с именами всех файлов, которые соответствуют пути, lpPathSpec.

Параметр lpPathSpec имеет следующую форму:

[drive:] [ [\u]directory[\idirectory]... \u] [filename]

В этом примере drive буква диска, directory допустимое имя каталога и имя файла допустимое имя файла, должно содержать хотя бы один подстановочный знак. Подстановочные знаки вопросительный знак (?), что означает соответствие любой символ, звездочка (*), что означает соответствие любое число символов.

Если указать пустую строку для lpPathSpec, текущая папка будет использоваться и lpPathSpec не будет изменено. Если указать только имя каталога, но не включать никаких спецификацию файла, то будет изменена строка "*".

Если lpPathSpec включает диска и/или имя каталога, то текущие диск и каталог изменены записать в указанный диск и каталог, прежде чем список заполняется. Управление текст, указанный nIDStaticPath также обновлено с новыми диска и/или имя каталога.

После того как список полей со списком заполнен, lpPathSpec обновлено путем удаления часть диска и/или каталога пути.

Пример

// 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.   

Требования

Header: afxwin.h

См. также

Ссылки

Класс CWnd

Диаграмма иерархии

CWnd::DlgDirList

CWnd::DlgDirSelect

DlgDirListComboBox