CWnd::DlgDirListComboBox
Заполняет список полей со списком с листингом файла или каталога.
int DlgDirListComboBox(
LPTSTR lpPathSpec,
int nIDComboBox,
int nIDStaticPath,
UINT nFileType
);
Параметры
lpPathSpec
Указывает на null- завершенной строке, которая содержит путь или имя файла. DlgDirListComboBox изменяет эту строку, поэтому эти данные не должны быть в формате строкового литерала. См. следующий раздел "примечания".nIDComboBox
Задает идентификатор поля со списком в диалоговом окне. Если nIDComboBox 0, то DlgDirListComboBox предполагается отсутствие поле со списком не существует, и не пытается заполнить одно.nIDStaticPath
Указывает идентификатор элемента управления статический- текста, используемого для отображения текущих диска и каталога. Если nIDStaticPath 0, то DlgDirListComboBox предполагается, что такое текстовый элемент управления отсутствует.nFileType
Определяет атрибуты файла DOS файлов для отображения. Может быть любым сочетанием следующих значений:Файлы данных Чтени-записи DDL_READWRITE без дополнительных атрибутов.
Файл, доступный только для чтения DDL_READONLY.
Скрытые файлы DDL_HIDDEN.
Системные файлы DDL_SYSTEM.
Каталоги DDL_DIRECTORY.
DDL_ARCHIVE Файлов.
DDL_POSTMSGS Пометить CB_DIR. Если пометить CB_DIR установлен, то Windows устанавливает сообщения, созданные DlgDirListComboBox в очередь приложения; в противном случае они отправлены непосредственно в процедуре диалогового окна.
Диски DDL_DRIVES. Если пометить DDL_DRIVES установлен, то пометить DDL_EXCLUSIVE устанавливается автоматически. Поэтому, чтобы создать список каталога, который включает диски и файлы, необходимо вызвать DlgDirListComboBox дважды: пометить раз, присвоив DDL_DRIVES и раз с флагами для остальной части списка.
Бит монопольного DDL_EXCLUSIVE. Если монопольный бит устанавливается только файлы указанного типа перечислены; в противном случае перечислены обычные файлы и файлы указанного типа.
Возвращаемое значение
Определяет результат функции. Он не равен нулю, если список выполненной, то даже пустой список. 0 Возвращаемых значений означает, что входная строка не содержит допустимый путь поиска.
Заметки
DlgDirListComboBox отправляет сообщения CB_RESETCONTENT и CB_DIR в поле со списком. Он заполняет список полей со списком, указанного nIDComboBox с именами всех файлов, которые соответствуют пути, lpPathSpec.
Параметр lpPathSpec имеет следующую форму:
[drive:] [ [\u]directory[\idirectory]... \u] [filename]
В этом примере drive буква диска, directory допустимое имя каталога и имя файла допустимое имя файла, должно содержать хотя бы один подстановочный знак. Подстановочные знаки вопросительный знак (?), что означает соответствие любой символ, звездочка (*), что означает соответствие любое число символов.
Если указать пустую строку для lpPathSpec, текущая папка будет использоваться и lpPathSpec не будет изменено. Если указать только имя каталога, но не включать никаких спецификацию файла, то будет изменена строка "*".
Если lpPathSpec включает диска и/или имя каталога, то текущие диск и каталог изменены записать в указанный диск и каталог, прежде чем список заполняется. Управление текст, указанный nIDStaticPath также обновлено с новыми диска и/или имя каталога.
После того как список полей со списком заполнен, lpPathSpec обновлено путем удаления часть диска и/или каталога пути.
Пример
// If pDialog points to a CDialog object with a combo box
// with the identifier IDC_DIRCOMBO, this call will populate
// the box with only the non-hidden subdirectories in the root
// directory of the C:\ drive.
TCHAR szPath[MAX_PATH];
_tcsncpy_s(szPath, MAX_PATH, _T("C:\\"), MAX_PATH);
pDialog->DlgDirListComboBox(szPath, IDC_DIRCOMBO, 0, DDL_EXCLUSIVE |
DDL_DIRECTORY);
// Note that the first argument is a string and not a string
// literal. This is necessary because DlgDirListComboBox
// modifies the supplied string. Passing a string literal
// will result in an access violation.
Требования
Header: afxwin.h