Шаг 216 - CWnd::DlgDirList

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);

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 29.12.2001