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


Функция DlgDirSelectComboBoxExA (winuser.h)

Извлекает текущий выбор из поля со списком, заполненного с помощью функции DlgDirListComboBox. Выбор интерпретируется как буква диска, файл или имя каталога.

Синтаксис

BOOL DlgDirSelectComboBoxExA(
  [in]  HWND  hwndDlg,
  [out] LPSTR lpString,
  [in]  int   cchOut,
  [in]  int   idComboBox
);

Параметры

[in] hwndDlg

Тип: HWND

Дескриптор диалогового окна, содержащего поле со списком.

[out] lpString

Тип: LPTSTR

Указатель на буфер, получающий выбранный путь.

[in] cchOut

Тип: int

Длина буфера в символах, на которую указывает параметр lpString.

[in] idComboBox

Тип: int

Целочисленный идентификатор элемента управления со списком в диалоговом окне.

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

Тип: BOOL

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

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

Замечания

Если текущий выбор задает имя каталога или букву диска, функция DlgDirSelectComboBoxEx удаляет вложенные квадратные скобки (и дефисы для букв диска), чтобы имя или буква были готовы вставить в новый путь или имя файла. Если нет выделения, содержимое буфера, на которое указывает lpString не изменяются.

Функция DlgDirSelectComboBoxEx не позволяет возвращать несколько имен файла из поля со списком.

Если строка длинна или длиннее буфера, буфер содержит усеченную строку с завершающим символом NULL.

DlgDirSelectComboBoxEx отправляет CB_GETCURSEL и CB_GETLBTEXT сообщения в поле со списком.

Эту функцию можно использовать со всеми тремя типами полей со списком (CBS_SIMPLE, CBS_DROPDOWNи CBS_DROPDOWNLIST).

предупреждение системы безопасности: неправильное использование этой функции может вызвать проблемы для приложения. Например, параметр nCount должен быть правильно задан для версий ANSI и Юникода. Сбой этого может привести к переполнению буфера. Перед продолжением следует просмотреть вопросы безопасности: элементы управления Microsoft Windows.

Windows 95 или более поздней версии: DlgDirSelectComboBoxExW поддерживается Microsoft Layer для Юникода (MSLU). Чтобы использовать это, необходимо добавить в приложение определенные файлы, как описано в Microsoft Layer для Юникода в Windows Me/98/95 Systems.

Заметка

Заголовок winuser.h определяет DlgDirSelectComboBoxEx в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка winuser.h (включая Windows.h)
библиотеки User32.lib
DLL User32.dll

См. также

CB_GETCURSEL

CB_GETLBTEXT

DlgDirListComboBox

Справочник