Share via


DlgDirListA 함수(winuser.h)

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

구문

int DlgDirListA(
  [in]      HWND  hDlg,
  [in, out] LPSTR lpPathSpec,
  [in]      int   nIDListBox,
  [in]      int   nIDStaticPath,
  [in]      UINT  uFileType
);

매개 변수

[in] hDlg

형식: HWND

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

[in, out] lpPathSpec

형식: LPTSTR

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

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

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

[in] nIDListBox

형식: int

hDlg 대화 상자의 목록 상자 식별자입니다. 이 매개 변수가 0이면 DlgDirList 가 목록 상자를 채우려고 하지 않습니다.

[in] nIDStaticPath

형식: int

hDlg 대화 상자에서 정적 컨트롤의 식별자입니다. DlgDirList 는 현재 드라이브 및 디렉터리를 표시하도록 이 컨트롤의 텍스트를 설정합니다. 현재 드라이브 및 디렉터리를 표시하지 않으려면 이 매개 변수는 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
설정된 경우 DlgDirListPostMessage 함수를 사용하여 목록 상자에 메시지를 보냅니다. 설정하지 않으면 DlgDirListSendMessage 함수를 사용합니다.

반환 값

형식: int

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

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

설명

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

DlgDirListLB_RESETCONTENTLB_DIR 메시지를 목록 상자에 보냅니다.

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

디렉터리 목록에 긴 파일 이름(있는 경우)이 표시됩니다.

예제

예를 들어 다음 topics. 단일 선택 목록 상자에 디렉터리 목록 만들기다중 선택 목록 상자 만들기를 참조하세요.

참고

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

요구 사항

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

추가 정보

DlgDirListComboBox

DlgDirSelectComboBoxEx

DlgDirSelectEx

참조