IShellView::UIActivate 메서드(shobjidl_core.h)
뷰 창의 활성화 상태가 셸 보기 자체에 의해 발생하지 않는 이벤트에 의해 변경되면 호출됩니다. 예를 들어 트리에 포커스가 있을 때 TAB 키를 누르면 보기에 포커스가 지정되어야 합니다.
구문
HRESULT UIActivate(
UINT uState
);
매개 변수
uState
형식: UINT
창의 활성화 상태를 지정하는 플래그입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
SVUIA_ACTIVATE_FOCUS
Windows Explorer 방금 입력 포커스가 있는 보기 창을 만들었습니다. 즉, 셸 보기는 포커스가 있는 상태에 적합한 메뉴 항목을 설정할 수 있어야 합니다.
SVUIA_ACTIVATE_NOFOCUS
셸 보기에서 입력 포커스가 손실되거나 입력 포커스 없이 방금 생성되었습니다. 셸 보기는 포커스가 없는 상태에 적합한 메뉴 항목을 설정할 수 있어야 합니다. 즉, 선택 항목만 추가하면 안 됩니다.
SVUIA_DEACTIVATE
Windows Explorer 셸 보기 창을 삭제하려고 합니다. 셸 보기는 모든 확장된 사용자 인터페이스를 제거해야 합니다. 일반적으로 병합된 메뉴와 병합된 모덜리스 팝업 창입니다.
SVUIA_INPLACEACTIVATE
셸 보기는 포커스 없이 활성화됩니다. 이 플래그는 IShellView2 인터페이스를 통해 UIActivate가 노출될 때만 사용됩니다.
반환 값
형식: HRESULT
성공하면 S_OK 반환하고, 그렇지 않으면 COM 정의 오류 값을 반환합니다.
설명
메뉴 항목을 다시 병합하기 전에 셸 보기는 일반적으로 WM_SETFOCUS 메시지를 후크하고 OnViewWindowActive 메서드를 호출합니다. 셸 보기는 NM_KILLFOCUS 메시지를 후크하여 메뉴 항목을 다시 병합해서는 안 됩니다.
호출 애플리케이션에 대한 참고 사항
활성화 상태 변경에 대한 보기를 알리려면 이 메서드를 호출합니다.구현자에 대한 참고 사항
활성화 상태를 추적하고 동작을 적절하게 변경하려면 이 메서드를 사용합니다.요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | shobjidl_core.h(Shobjidl.h 포함) |
DLL | Shell32.dll(버전 4.0 이상) |