Share via


DlgDirListComboBoxW 함수(winuser.h)

콤보 상자의 콘텐츠를 지정된 디렉터리의 하위 디렉터리 및 파일 이름으로 바꿉니다. 파일 특성 집합을 지정하여 이름 목록을 필터링할 수 있습니다. 이름 목록에는 매핑된 드라이브 문자가 포함될 수 있습니다.

구문

int DlgDirListComboBoxW(
  [in]      HWND   hDlg,
  [in, out] LPWSTR lpPathSpec,
  [in]      int    nIDComboBox,
  [in]      int    nIDStaticPath,
  [in]      UINT   uFiletype
);

매개 변수

[in] hDlg

형식: HWND

콤보 상자가 포함된 대화 상자에 대한 핸들입니다.

[in, out] lpPathSpec

형식: LPTSTR

절대 경로, 상대 경로 또는 파일 이름을 지정하는 null로 끝나는 문자열을 포함하는 버퍼에 대한 포인터입니다. 절대 경로는 드라이브 문자(예: d:) 또는 UNC 이름(예: \\machinename\sharename)으로 시작할 수 있습니다.

함수는 문자열을 디렉터리와 파일 이름으로 분할합니다. 함수는 디렉터리에서 파일 이름과 일치하는 이름을 검색합니다. 문자열이 디렉터리를 지정하지 않으면 함수는 현재 디렉터리를 검색합니다.

문자열에 파일 이름이 포함된 경우 파일 이름에 하나 이상의 와일드카드 문자(? 또는 )가 포함되어야 합니다 . 문자열에 파일 이름이 포함되어 있지 않으면 별표 와일드카드 문자()를 파일 이름으로 지정한 것처럼 함수가 동작합니다. 파일 이름과 일치하고 uFiletype 매개 변수로 지정된 특성이 있는 지정된 디렉터리의 모든 이름이 콤보 상자에 표시되는 목록에 추가됩니다.

[in] nIDComboBox

형식: int

hDlg 대화 상자에 있는 콤보 상자의 식별자입니다. 이 매개 변수가 0이면 DlgDirListComboBox 가 콤보 상자를 채우려고 하지 않습니다.

[in] nIDStaticPath

형식: int

hDlg 대화 상자에서 정적 컨트롤의 식별자입니다. DlgDirListComboBox 는 현재 드라이브 및 디렉터리를 표시하도록 이 컨트롤의 텍스트를 설정합니다. 현재 드라이브 및 디렉터리를 표시하지 않으려면 이 매개 변수는 0일 수 있습니다.

[in] uFiletype

형식: UINT

콤보 상자에 추가할 파일 또는 디렉터리 특성을 지정하는 비트 플래그 집합입니다. 이 매개 변수는 다음 값의 조합일 수 있습니다.

의미
DDL_ARCHIVE
보관된 파일을 포함합니다.
DDL_DIRECTORY
대괄호([ ])로 묶인 하위 디렉터리를 포함합니다.
DDL_DRIVES
매핑된 모든 드라이브가 목록에 추가됩니다. 드라이브는 [-x-] 형식으로 나열되며 여기서 x는 드라이브 문자입니다.
DDL_EXCLUSIVE
지정된 특성이 있는 파일만 포함합니다. 기본적으로 DDL_READWRITE가 지정되지 않은 경우에도 읽기/쓰기 파일이 나열됩니다.
DDL_HIDDEN
숨겨진 파일을 포함합니다.
DDL_READONLY
읽기 전용 파일을 포함합니다.
DDL_READWRITE
추가 특성이 없는 읽기/쓰기 파일을 포함합니다. 이 값은 기본 설정입니다.
DDL_SYSTEM
시스템 파일을 포함합니다.
DDL_POSTMSGS
이 플래그가 설정되면 DlgDirListComboBoxPostMessage 함수를 사용하여 콤보 상자에 메시지를 보냅니다. 이 플래그가 설정되지 않은 경우 DlgDirListComboBoxSendMessage 함수를 사용합니다.

반환 값

형식: int

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 예를 들어 lpPathSpec 에서 지정한 문자열이 유효한 경로가 아니면 함수가 실패합니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.

설명

lpPathSpec이 디렉터리를 지정하는 경우 DlgDirListComboBox는 콤보 상자를 채우기 전에 현재 디렉터리를 지정된 디렉터리로 변경합니다. nIDStaticPath 매개 변수로 식별된 정적 컨트롤의 텍스트는 새 현재 디렉터리의 이름으로 설정됩니다.

DlgDirListComboBoxCB_RESETCONTENTCB_DIR 메시지를 콤보 상자로 보냅니다.

Microsoft Windows NT 4.0 이상: uFiletype에 DDL_DIRECTORY 플래그가 포함되어 있고 lpPathSpec이 C:\TEMP와 같은 첫 번째 수준 디렉터리를 지정하는 경우 콤보 상자에는 항상 루트 디렉터리에 대한 ".." 항목이 포함됩니다. 이는 루트 디렉터리에 숨겨진 특성이나 시스템 특성이 있고 DDL_HIDDEN 및 DDL_SYSTEM 플래그가 지정되지 않은 경우에도 마찬가지입니다. NTFS 볼륨의 루트 디렉터리에는 숨겨진 시스템 특성이 있습니다.

보안 경고: 이 함수를 잘못 사용하면 프로그램의 보안이 손상될 수 있습니다. 이 함수의 잘못된 사용에는 lpPathSpec 이 쓰기 불가능한 버퍼 또는 null 종료가 없는 버퍼를 나타내는 것이 포함됩니다. 계속하기 전에 보안 고려 사항: Microsoft Windows 컨트롤을 검토해야 합니다.

Microsoft Windows NT 4.0 이상: 목록에 긴 파일 이름이 표시됩니다(있는 경우).

Windows 95 이상: 목록에 짧은 파일 이름(8.3 양식)이 표시됩니다. SHGetFileInfo 또는 GetFullPathName 함수를 사용하여 해당 긴 파일 이름을 가져올 수 있습니다.

Windows 95 이상: DlgDirListComboBoxW 는 유니코드용 Microsoft 계층에서 지원됩니다. 이를 사용하려면 Windows Me/98/95 Systems의 유니코드용 Microsoft Layer에 설명된 대로 특정 파일을 애플리케이션에 추가해야 합니다.

참고

winuser.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 DlgDirListComboBox를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll

추가 정보

DlgDirList

DlgDirSelectComboBoxEx

참조