다음을 통해 공유


IACList 인터페이스(shlobj_core.h)

후보 문자열이 계층 구조로 구성될 때 자동 완성 의 효율성을 향상시키는 메서드를 노출합니다.

상속

IACList 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IACList 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IACList 인터페이스에는 이러한 메서드가 있습니다.

 
IACList::Expand

자동 완성 클라이언트가 네임스페이스의 지정된 항목과 연결된 후보 문자열을 생성할 것을 요청합니다.

설명

자동 완성에는 일반적으로 다음 세 가지 구성 요소가 필요합니다.

  • 자동 완성 클라이언트입니다. 이 클라이언트는 편집 컨트롤을 호스트하는 대화 상자와 같은 창입니다.
  • 자동 완성 개체(CLSID_AutoComplete)입니다. 이 개체는 시스템에서 제공되며 사용자 인터페이스, 구문 분석 및 백그라운드 스레드 관리를 처리합니다.
  • 자동 완성 목록 개체입니다. 이 개체는 자동 완성 개체에 후보 문자열 목록을 제공합니다.
간단한 자동 완성 목록 개체는 IUnknown 외에 IEnumString을 내보내기만 하면됩니다. 사용자가 편집 상자에 문자를 입력하면 자동 완성 개체는 목록 개체의 IEnumString 인터페이스를 호출하여 부분 문자열을 완료하는 데 사용할 수 있는 문자열 목록을 열거합니다. list 개체는 네임스페이스를 유지하고 관련 문자열을 결정합니다.

목록 개체가 수행하는 가장 간단한 방법은 자동 완성 개체가 요청을 할 때마다 네임스페이스의 모든 문자열을 반환하는 것입니다. 이러한 유형의 목록 개체를 구현하는 방법에 대한 자세한 내용은 IAutoComplete를 참조하세요. 그러나 이 방법은 네임스페이스가 상대적으로 작은 경우에만 실용적입니다. 많은 수의 문자열이 관련된 경우 목록 개체는 네임스페이스의 작은 하위 집합으로 제한해야 합니다.

IACList 인터페이스는 계층적으로 구성된 네임스페이스에서 문자열의 합리적인 하위 집합을 선택하는 데 도움이 되도록 자동 완성 목록 개체에 의해 내보내집니다. 큰 네임스페이스를 사용하면 자동 완성의 효율성이 크게 향상됩니다. 기본 절차는 다음과 같습니다.

  1. 자동 완성 개체는 목록 개체의 IEnumString 인터페이스를 호출합니다 . list 개체는 계층의 최상위 항목 이름을 반환합니다. 예를 들어 네임스페이스가 C: 드라이브의 모든 파일 및 폴더로 구성된 경우 목록 개체는 C:\ 디렉터리에 포함된 폴더 및 파일의 정규화된 경로를 반환합니다.
  2. 사용자가 구분 기호를 입력할 때까지 계속 입력합니다. '\' 및 '/' 문자는 자동 완성 개체에 의해 구분 기호로 인식됩니다.
  3. 자동 완성 개체는 목록 개체의 IACList::Expand 메서드를 호출하고 현재 부분 문자열을 전달합니다.
  4. 자동 완성 개체는 목록 개체의 IEnumString 인터페이스를 다시 호출하여 새 문자열 목록을 요청합니다. 부분 문자열이 네임스페이스의 최상위 항목 중 하나와 일치하는 경우 목록 개체는 선택한 항목 바로 아래에 있는 항목의 이름을 반환합니다. instance 경우 사용자가 "C:\Program Files\"를 입력한 경우 목록 개체는 해당 디렉터리에 포함된 파일 및 폴더의 이름을 반환합니다. IACList::Expand에 전달된 이름이 최상위 항목과 일치하지 않는 경우 자동 완성 개체가 목록 개체의 네임스페이스에 있는 문자열로 IACList::Expand을 호출할 때까지 목록 개체가 문자열 반환을 중지할 수 있습니다.
  5. 일반적으로 Enter 키를 눌러 사용자가 문자열을 선택할 때까지 프로세스가 계속됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional, Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shlobj_core.h