Функция DlgDirListComboBoxA (winuser.h)
Заменяет содержимое поля со списком именами подкаталогов и файлов в указанном каталоге. Список имен можно отфильтровать, указав набор атрибутов файла. Список имен может включать сопоставленные буквы дисков.
Синтаксис
int DlgDirListComboBoxA(
[in] HWND hDlg,
[in, out] LPSTR lpPathSpec,
[in] int nIDComboBox,
[in] int nIDStaticPath,
[in] UINT uFiletype
);
Параметры
[in] hDlg
Тип: HWND
Дескриптор диалогового окна, содержащего поле со списком.
[in, out] lpPathSpec
Тип: LPTSTR
Указатель на буфер, содержащий строку, завершающуюся нулевым значением, которая указывает абсолютный путь, относительный путь или имя файла. Абсолютный путь может начинаться с буквы диска (например, d:) или UNC-имени (например, \\machinename\sharename).
Функция разделяет строку на каталог и имя файла. Функция выполняет поиск в каталоге имен, соответствующих имени файла. Если в строке не указан каталог, функция выполняет поиск в текущем каталоге.
Если строка содержит имя файла, имя файла должно содержать по крайней мере один подстановочный знак (? или ). Если строка не содержит имя файла, функция ведет себя так, как если бы в качестве имени файла был указан подстановочный знак звездочки (). Все имена в указанном каталоге, которые соответствуют имени файла и имеют атрибуты, заданные параметром uFiletype , добавляются в список, отображаемый в поле со списком.
[in] nIDComboBox
Тип: int
Идентификатор поля со списком в диалоговом окне hDlg . Если этот параметр равен нулю, DlgDirListComboBox не пытается заполнить поле со списком.
[in] nIDStaticPath
Тип: int
Идентификатор статического элемента управления в диалоговом окне hDlg . DlgDirListComboBox задает текст этого элемента управления для отображения текущего диска и каталога. Этот параметр может быть равен нулю, если вы не хотите отображать текущий диск и каталог.
[in] uFiletype
Тип: UINT
Набор битовых флагов, указывающий атрибуты файлов или каталогов, добавляемых в поле со списком. Этот параметр может быть сочетанием следующих значений.
Значение | Значение |
---|---|
|
Включает архивные файлы. |
|
Включает подкаталоги, заключенные в квадратные скобки ([ ]). |
|
Все сопоставленные диски добавляются в список. Диски перечислены в формате [-x-], где x — буква диска. |
|
Включает только файлы с указанными атрибутами. По умолчанию файлы для чтения и записи отображаются в списке, даже если DDL_READWRITE не указан. |
|
Включает скрытые файлы. |
|
Включает файлы, доступные только для чтения. |
|
Включает файлы для чтения и записи без дополнительных атрибутов. Это параметр по умолчанию. |
|
Включает системные файлы. |
|
Если этот флаг установлен, DlgDirListComboBox использует функцию PostMessage для отправки сообщений в поле со списком. Если этот флаг не задан, DlgDirListComboBox использует функцию SendMessage . |
Возвращаемое значение
Тип: int
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение. Например, если строка, указанная в lpPathSpec , не является допустимым путем, функция завершается ошибкой. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.
Комментарии
Если lpPathSpec указывает каталог, DlgDirListComboBox перед заполнением поля со списком изменяет текущий каталог на указанный каталог. Текст статического элемента управления, определяемого параметром nIDStaticPath , имеет имя нового текущего каталога.
DlgDirListComboBox отправляет CB_RESETCONTENT и CB_DIR сообщения в поле со списком.
Microsoft Windows NT 4.0 и более поздних версий. Если uFiletype содержит флаг DDL_DIRECTORY, а lpPathSpec указывает каталог первого уровня, например C:\TEMP, поле со списком всегда будет содержать запись ".." для корневого каталога. Это верно, даже если корневой каталог содержит скрытые или системные атрибуты, а флаги DDL_HIDDEN и DDL_SYSTEM не указаны. Корневой каталог тома NTFS содержит скрытые системные атрибуты и .
Предупреждение системы безопасности: Неправильное использование этой функции может поставить под угрозу безопасность программы. Неправильное использование этой функции включает в себя наличие lpPathSpec , указывающего буфер, не доступный для записи, или буфер без завершения со значением NULL. Прежде чем продолжить, ознакомьтесь с разделом Вопросы безопасности: Элементы управления Microsoft Windows .
Microsoft Windows NT 4.0 и более поздних версий: в списке отображаются длинные имена файлов, если таковые есть.
Windows 95 или более поздней версии: в списке отображаются короткие имена файлов (форма 8.3). Для получения соответствующего длинного имени файла можно использовать функции SHGetFileInfo или GetFullPathName .
Windows 95 или более поздней версии: DlgDirListComboBoxW поддерживается Microsoft Layer для Юникода. Для этого необходимо добавить определенные файлы в приложение, как описано в разделе Microsoft Layer for Unicode в Windows Me/98/95 Systems.
Примечание
Заголовок winuser.h определяет DlgDirListComboBox в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | winuser.h (включая Windows.h) |
Библиотека | User32.lib |
DLL | User32.dll |
См. также раздел
Справочные материалы