Функция DlgDirListA (winuser.h)
Заменяет содержимое списка именами подкаталогов и файлов в указанном каталоге. Список имен можно отфильтровать, указав набор атрибутов файла. При необходимости в список могут входить сопоставленные диски.
Синтаксис
int DlgDirListA(
[in] HWND hDlg,
[in, out] LPSTR lpPathSpec,
[in] int nIDListBox,
[in] int nIDStaticPath,
[in] UINT uFileType
);
Параметры
[in] hDlg
Тип: HWND
Дескриптор диалогового окна, содержащего список.
[in, out] lpPathSpec
Тип: LPTSTR
Указатель на буфер, содержащий строку со значением NULL, которая указывает абсолютный путь, относительный путь или имя файла. Абсолютный путь может начинаться с буквы диска (например, d:) или UNC-имени (например, \<i>machinename\sharename).
Функция разделяет строку на каталог и имя файла. Функция выполняет поиск в каталоге имен, соответствующих имени файла. Если в строке не указан каталог, функция выполняет поиск в текущем каталоге.
Если строка содержит имя файла, имя файла должно содержать по крайней мере один подстановочный знак (? или *). Если строка не содержит имени файла, функция будет вести себя так, как если бы вы указали подстановочный знак звездочки (*) в качестве имени файла. Все имена в указанном каталоге, которые соответствуют имени файла и имеют атрибуты, заданные параметром uFileType, добавляются в список.
[in] nIDListBox
Тип: int
Идентификатор списка в диалоговом окне hDlg . Если этот параметр равен нулю, DlgDirList не пытается заполнить список.
[in] nIDStaticPath
Тип: int
Идентификатор статического элемента управления в диалоговом окне hDlg . DlgDirList задает текст этого элемента управления для отображения текущего диска и каталога. Этот параметр может быть равен нулю, если вы не хотите отображать текущий диск и каталог.
[in] uFileType
Тип: UINT
Указывает атрибуты файлов или каталогов, добавляемых в список. Этот параметр может быть одним или несколькими из следующих значений.
Значение | Значение |
---|---|
|
Включает архивные файлы. |
|
Включает подкаталоги. Имена подкаталогов заключаются в квадратные скобки ([ ]). |
|
Все сопоставленные диски добавляются в список. Диски перечислены в формате [- x-], где x — буква диска. |
|
Включает только файлы с указанными атрибутами. По умолчанию файлы для чтения и записи отображаются, даже если DDL_READWRITE не указан. |
|
Включает скрытые файлы. |
|
Включает файлы, доступные только для чтения. |
|
Включает файлы для чтения и записи без дополнительных атрибутов. Это параметр по умолчанию. |
|
Включает системные файлы. |
|
Если этот параметр задан, DlgDirList использует функцию PostMessage для отправки сообщений в поле списка. Если значение не задано, DlgDirList использует функцию SendMessage . |
Возвращаемое значение
Тип: int
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Например, если строка, указанная lpPathSpec , не является допустимым путем, функция завершается ошибкой. Чтобы получить расширенные сведения об ошибке, вызовите функцию .
Комментарии
Если lpPathSpec указывает каталог, DlgDirListComboBox перед заполнением списка изменяет текущий каталог на указанный каталог. Текст статического элемента управления, определяемого параметром nIDStaticPath , имеет имя нового текущего каталога.
DlgDirList отправляет сообщения LB_RESETCONTENT и LB_DIR в список.
Если uFileType содержит флаг DDL_DIRECTORY, а lpPathSpec указывает каталог первого уровня, например C:\TEMP, в списке всегда будет содержаться запись ".." для корневого каталога. Это верно, даже если корневой каталог содержит скрытые или системные атрибуты, а флаги DDL_HIDDEN и DDL_SYSTEM не указаны. Корневой каталог тома NTFS содержит скрытые и системные атрибуты.
В списке каталогов отображаются длинные имена файлов, если таковые есть.
Примеры
Примеры см. в следующих разделах: Создание списка каталогов в списке с одним выбором и Создание списка с множественным выбором.
Примечание
Заголовок winuser.h определяет DlgDirList в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
См. также раздел
Справочные материалы