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