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


CWnd::DlgDirList

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

int DlgDirList( 
   LPTSTR lpPathSpec, 
   int nIDListBox, 
   int nIDStaticPath, 
   UINT nFileType  
);

Параметры

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

  • nIDListBox
    Указывает идентификатор списка. Если nIDListBox 0, то DlgDirList предполагается, что список не существует, и не пытается заполнить одно.

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

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

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

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

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

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

    • Каталоги DDL_DIRECTORY.

    • DDL_ARCHIVE Файлов.

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

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

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

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

Ненулевой если функция успешно; в противном случае – значение 0.

Заметки

DlgDirList отправляет сообщения LB_RESETCONTENT и LB_DIR в список. Он заполняет список указанный nIDListBox с именами всех файлов, которые соответствуют пути, lpPathSpec.

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

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

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

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

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

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

Пример

// If pDialog points to a CDialog object with a list box 
// with the identifier IDC_DIRLIST, this call will populate 
// the box with only the non-hidden subdirectories in the root 
// directory of the C:\ drive.
TCHAR path[MAX_PATH];
_tcscpy_s(path, MAX_PATH, _T("C:\\"));

pDialog->DlgDirList(path, IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);

Требования

Header: afxwin.h

См. также

Ссылки

Класс CWnd

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

CWnd::DlgDirListComboBox

DlgDirList