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


LB_DIR сообщение

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

Параметры

wParam

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

Значение Значение
DDL_ARCHIVE
Включает архивные файлы.
DDL_DIRECTORY
Включает подкаталоги. Имена подкаталогов заключаются в квадратные скобки ([ ]).
DDL_DRIVES
Все сопоставленные диски добавляются в список. Диски перечислены в формате [-x-], где x — буква диска.
DDL_EXCLUSIVE
Включает только файлы с указанными атрибутами. По умолчанию файлы для чтения и записи отображаются, даже если DDL_READWRITE не указан.
DDL_HIDDEN
Включает скрытые файлы.
DDL_READONLY
Включает файлы, доступные только для чтения.
DDL_READWRITE
Включает файлы для чтения и записи без дополнительных атрибутов. Это параметр по умолчанию.
DDL_SYSTEM
Включает системные файлы.

lParam

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

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

Возвращаемое значение

Если сообщение завершается успешно, возвращаемым значением является отсчитываемый от нуля индекс фамилии, добавленной в список.

При возникновении ошибки возвращаемое значение будет LB_ERR. Если места недостаточно для хранения новых строк, возвращаемое значение LB_ERRSPACE.

Комментарии

Сообщение LB_INITSTORAGE помогает ускорить инициализацию списков с большим количеством элементов (более 100). Он резервирует указанный объем памяти, чтобы последующие LB_DIR сообщения занимают самое короткое время. Вы можете использовать оценки для параметров wParam и lParam . Если вы переоцените, выделяется дополнительная память; если вы недооцениваете, обычное выделение используется для элементов, превышающих запрошенную сумму.

Если wParam содержит флаг DDL_DIRECTORY, а lParam указывает все подкаталоги каталога первого уровня, например C:\TEMP\*, в поле списка всегда будет содержаться запись ".." для корневого каталога. Это верно, даже если корневой каталог содержит скрытые или системные атрибуты, а флаги DDL_HIDDEN и DDL_SYSTEM не указаны. Корневой каталог тома NTFS содержит скрытые и системные атрибуты.

В списке отображаются длинные имена файлов, если таковые есть.

Для приложения ANSI система преобразует текст в списке в Юникод с помощью CP_ACP. Это может привести к проблемам. Например, римские символы с акцентами в списке, отличном от Юникода в японском Windows, будут искажены. Чтобы устранить эту проблему, скомпилируйте приложение как Юникод или используйте список, нарисованный владельцем.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Заголовок
Winuser.h (включая Windows.h)

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

DlgDirList