Функция 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
Указатель на буфер, содержащий строку, завершающую значение NULL, которая задает абсолютный путь, относительный путь или имя файла. Абсолютный путь может начинаться с буквы диска (например, d:) или UNC-имени (например, \\имени компьютера\имени общего ресурса).
Функция разделяет строку на каталог и имя файла. Функция выполняет поиск по каталогу имен, соответствующих имени файла. Если строка не указывает каталог, функция выполняет поиск в текущем каталоге.
Если строка содержит имя файла, имя файла должно содержать по крайней мере один подстановочный знак (? или ). Если строка не содержит имя файла, функция ведет себя так, как если бы вы указали подстановочный знак звездочки () в качестве имени файла. Все имена в указанном каталоге, которые соответствуют имени файла и имеют атрибуты, указанные параметром uFiletype, добавляются в список, отображаемый в поле со списком.
[in] nIDComboBox
Тип: int
Идентификатор поля со списком в диалоговом окне hDlg. Если этот параметр равен нулю, DlgDirListComboBox не пытается заполнить поле со списком.
[in] nIDStaticPath
Тип: int
Идентификатор статического элемента управления в диалоговом окне hDlg. DlgDirListComboBox задает текст этого элемента управления для отображения текущего диска и каталога. Этот параметр может быть равен нулю, если вы не хотите отображать текущий диск и каталог.
[in] uFiletype
Тип: UINT
Набор битовых флагов, указывающих атрибуты файлов или каталогов, которые необходимо добавить в поле со списком. Этот параметр может быть сочетанием следующих значений.
Ценность | Значение |
---|---|
|
Включает архивированные файлы. |
|
Включает вложенные каталоги, которые заключены в квадратные скобки ([ ]). |
|
Все сопоставленные диски добавляются в список. Диски перечислены в форме [-x-], где x — буква диска. |
|
Включает только файлы с указанными атрибутами. По умолчанию файлы чтения и записи перечислены, даже если DDL_READWRITE не указан. |
|
Включает скрытые файлы. |
|
Включает файлы только для чтения. |
|
Включает файлы чтения и записи без дополнительных атрибутов. Это параметр по умолчанию. |
|
Включает системные файлы. |
|
Если этот флаг задан, DlgDirListComboBox использует функцию PostMessage для отправки сообщений в поле со списком. Если этот флаг не задан, |
Возвращаемое значение
Тип: 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 для Юникода в Windows Me/98/95 Systems.
Заметка
Заголовок winuser.h определяет DlgDirListComboBox как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winuser.h (включая Windows.h) |
библиотеки |
User32.lib |
DLL | User32.dll |
См. также
Справочник