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


Функция DlgDirListW (winuser.h)

Заменяет содержимое списка именами подкаталогов и файлов в указанном каталоге. Список имен можно отфильтровать, указав набор атрибутов файла. При необходимости в список могут входить сопоставленные диски.

Синтаксис

int DlgDirListW(
  [in]      HWND   hDlg,
  [in, out] LPWSTR lpPathSpec,
  [in]      int    nIDListBox,
  [in]      int    nIDStaticPath,
  [in]      UINT   uFileType
);

Параметры

[in] hDlg

Тип: HWND

Дескриптор диалогового окна, содержащего список.

[in, out] lpPathSpec

Тип: LPTSTR

Указатель на буфер, содержащий строку, завершающуюся значением NULL, которая указывает абсолютный путь, относительный путь или имя файла. Абсолютный путь может начинаться с буквы диска (например, d:) или UNC-имени (например, \machinename).
sharename).

Функция разделяет строку на каталог и имя файла. Функция выполняет поиск в каталоге имен, соответствующих имени файла. Если в строке не указан каталог, функция выполняет поиск в текущем каталоге.

Если строка содержит имя файла, имя файла должно содержать по крайней мере один подстановочный знак (? или ). Если строка не содержит имя файла, функция ведет себя так, как если бы в качестве имени файла был указан подстановочный знак звездочки (). Все имена в указанном каталоге, которые соответствуют имени файла и имеют атрибуты, заданные параметром uFileType , добавляются в список.

[in] nIDListBox

Тип: int

Идентификатор списка в диалоговом окне hDlg . Если этот параметр равен нулю, DlgDirList не пытается заполнить список.

[in] nIDStaticPath

Тип: int

Идентификатор статического элемента управления в диалоговом окне hDlg . DlgDirList задает текст этого элемента управления для отображения текущего диска и каталога. Этот параметр может быть равен нулю, если вы не хотите отображать текущий диск и каталог.

[in] uFileType

Тип: UINT

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

Значение Значение
DDL_ARCHIVE
Включает архивные файлы.
DDL_DIRECTORY
Включает подкаталоги. Имена подкаталогов заключаются в квадратные скобки ([ ]).
DDL_DRIVES
Все сопоставленные диски добавляются в список. Диски перечислены в формате [- x-], где x — буква диска.
DDL_EXCLUSIVE
Включает только файлы с указанными атрибутами. По умолчанию файлы для чтения и записи отображаются в списке, даже если DDL_READWRITE не указан.
DDL_HIDDEN
Включает скрытые файлы.
DDL_READONLY
Включает файлы, доступные только для чтения.
DDL_READWRITE
Включает файлы для чтения и записи без дополнительных атрибутов. Это параметр по умолчанию.
DDL_SYSTEM
Включает системные файлы.
DDL_POSTMSGS
Если этот параметр задан, 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 или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll

См. также раздел

DlgDirListComboBox

DlgDirSelectComboBoxEx

DlgDirSelectEx

Справочные материалы