int DlgDirList( LPTSTR lpPathSpec, int nIDListBox, int nIDStaticPath, UINT nFileType );
Возвращаемое значение
Отлично от нуля если функция успешна, иначе 0.
Параметры
lpPathSpec
Указатель на строку с нулевым символом в конце, которая содержит путь или имя файла. DlgDirList изменяет эту строку которая должна быть достаточно длинны чтобы содержать модификации.
nIDListBox
Определяет идентификатор списка. Если nIDListBox - 0, DlgDirList принимает что списка не существует и не пытается заполнять его.
nIDStaticPath
Определяет идентификатор статического текстового элемента управления, используемого, чтобы отобразить текущий диск и каталог. Если nIDStaticPath - 0, DlgDirList принимает, что такого текстового элемента управление не присутствует.
nFileType
Определяет атрибуты файлов, которые нужно отобразить. Это может быть любая комбинация следующих значений:
Заполняет список именами каталогов или файлов. DlgDirList посылает LB_RESETCONTENT и LB_DIR сообщения к списку. Он заполняет список, определенный nIDListBox с именами всех файлов, которые соответствуют пути, данному lpPathSpec. LpPathSpec параметр имеет следующую форму:
[drive:] [ [\u]directory[\idirectory]...\u] [filename]
В этом примере, диск - имя диска, каталог - допустимое имя каталога, и имя файла - допустимое имя файла, которое должно содержать по крайней мере одни подстановочные знаки. Вопросительный знак (?), что означает соответствие любой символ, и звездочка (*), означая соответствие любое число символов. Если Вы определяете строку с 0 длинами для lpPathSpec, или если Вы определяете только каталог, но не включают никакую спецификацию файла, строка будет изменена на "*.*".
Если lpPathSpec включает диск и имя каталога, текущий диск и каталог изменены на обозначенный диск и каталог прежде, чем список заполнен. Текстовый элемент управление, идентифицированное nIDStaticPath также модифицируется с новым диском или именем каталога. После того, как список заполнен, lpPathSpec модифицируется, удаляя диск или часть пути каталога.
Пример
// Если pDialog указывает на объект CDialog со списком // c идентификатором IDC_DIRLIST, это обращение заполнит // блок только не скрытыми подкаталогами в корне // диска C:\. pDialog->DlgDirList(_T("C:\\"), IDC_DIRLIST, 0, DDL_EXCLUSIVE | DDL_DIRECTORY);