스냅인 개체의 자식 항목을 열거 하는 방법?

스냅인 개체의 콘텐츠를 제대로 표시 하려면 개체의 자식 항목을 열거 그들이 존재 하는 경우. 이 수정에 대 한 최고의 장소는 스냅인 데이터 클래스의 알림 메서드 (이 토론에서 CSnapNameData )。

메모nbsp;??스냅인 데이터 클래스는 CSnapInItemImpl 에서 파생 된(&N)。

기본적으로 ATL 개체 마법사는이 알림에 대 한 처리기를 만듭니다. 이 처리기에서 기존 수정 해야 switch 문을 처리 하는 MMCN_EXPAND 및 MMCN_SHOW 알림。

MMCN_EXPAND 알림 처리

MMCN_EXPAND 알림이 스냅인 개체 폴더를 확장 하거나 계약을 체결 해야 할 때 전송 됩니다. 이 경우 범위 창 항목을만 열거 해야 합니다. 이 열거형에서 이루어집니다를 case MMCN_EXPAND 알림 위한 문。

범위 창 항목을 삽입 하려면 먼저 검색은 IConsoleNameSpace 및 다음 호출 스냅인 개체에 대 한 인터페이스를 InsertItem 메서드. 다음 코드는 필요한 인터페이스의 검색을 보여 줍니다.

 CComQIPtrlt, IConsoleNameSpace,
& IID_IConsoleNameSpace > spConsoleNameSpace(pConsole);
/ / TODO: 사용자 정의 함수를 사용 하 여 범위 창 항목 열거

MMCN_SHOW 알림 처리

때 항목을 선택 하거나 처음으로 공간과 MMCN_SHOW 알림이 전송 됩니다. 이 열거형에서 이루어집니다를 case MMCN_SHOW 통지에 대 한 문의. MMCN_EXPAND 알림 달리 결과 창 항목 및 범위 창 항목 열거 해야。

첫째, 검색 하 여 범위 항목을 열거 합니다 스냅인 개체 및 다음 호출에 대 한 IConsoleNameSpace 인터페이스는 InsertItem 메서드. 범위 창 항목을 열거 하는 후 동일한 작업을 수행 결과 대 한 항목을 검색 하 여 해당 IResultData 인터페이스를 호출 하 고 InsertItem。

CComQIPtrlt, IConsoleNameSpace,
& IID_IConsoleNameSpace > spConsoleNameSpace(pConsole);
/ / TODO: 사용자 정의 함수를 사용 하 여 범위 창 항목 열거
< IResultData, 및 IID_IResultData > CComQIPtr spResultData(pConsole);
/ / TODO: 사용자 정의 함수 결과 창 항목 열거

Index