다음을 통해 공유


IOleInPlaceObjectWindowlessImpl 클래스

이 클래스는 IUnknown 창 없는 컨트롤이 창 메시지를 수신하고 끌어서 놓기 작업에 참여할 수 있도록 하는 메서드를 구현하고 제공합니다.

Important

이 클래스와 해당 멤버는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다.

구문

template<class T>
class IOleInPlaceObjectWindowlessImpl

매개 변수

T
에서 파생된 IOleInPlaceObjectWindowlessImpl클래스입니다.

멤버

공용 메서드

이름 설명
IOleInPlaceObjectWindowlessImpl::ContextSensitiveHelp 상황에 맞는 도움말을 사용하도록 설정합니다. ATL 구현은 E_NOTIMPL 반환합니다.
IOleInPlaceObjectWindowlessImpl::GetDropTarget IDropTarget 끌어서 놓기를 지원하는 현재 위치 활성 창 없는 개체에 대한 인터페이스를 제공합니다. ATL 구현은 E_NOTIMPL 반환합니다.
IOleInPlaceObjectWindowlessImpl::GetWindow 창 핸들을 가져옵니다.
IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate 활성 현재 위치 컨트롤을 비활성화합니다.
IOleInPlaceObjectWindowlessImpl::OnWindowMessage 컨테이너에서 현재 위치 활성 상태인 창 없는 컨트롤로 메시지를 디스패치합니다.
IOleInPlaceObjectWindowlessImpl::ReactivateAndUndo 이전에 비활성화된 컨트롤을 다시 활성화합니다. ATL 구현은 E_NOTIMPL 반환합니다.
IOleInPlaceObjectWindowlessImpl::SetObjectRects 현재 위치 컨트롤의 어떤 부분이 표시되는지 나타냅니다.
IOleInPlaceObjectWindowlessImpl::UIDeactivate 현재 위치 활성화를 지원하는 사용자 인터페이스를 비활성화하고 제거합니다.

설명

IOleInPlaceObject 인터페이스는 현재 위치 컨트롤의 다시 활성화 및 비활성화를 관리하고 표시해야 하는 컨트롤의 양을 결정합니다. IOleInPlaceObjectWindowless 인터페이스를 사용하면 창 없는 컨트롤이 창 메시지를 수신하고 끌어서 놓기 작업에 참여할 수 있습니다. 클래스 IOleInPlaceObjectWindowlessImpl 는 디버그 빌드의 IOleInPlaceObject 덤프 디바이스에 정보를 전송하여 기본 구현 및 IOleInPlaceObjectWindowless 구현 IUnknown 을 제공합니다.

관련 문서 ATL 자습서, ATL 프로젝트 만들기

상속 계층 구조

IOleInPlaceObjectWindowless

IOleInPlaceObjectWindowlessImpl

요구 사항

헤더: atlctl.h

IOleInPlaceObjectWindowlessImpl::ContextSensitiveHelp

E_NOTIMPL을 반환합니다.

HRESULT ContextSensitiveHelp(BOOL fEnterMode);

설명

Windows SDK에서 IOleWindow::ContextSensitiveHelp를 참조하세요.

IOleInPlaceObjectWindowlessImpl::GetDropTarget

E_NOTIMPL을 반환합니다.

HRESULT GetDropTarget(IDropTarget** ppDropTarget);

설명

Windows SDK에서 IOleInPlaceObjectWindowless::GetDropTarget을 참조하세요.

IOleInPlaceObjectWindowlessImpl::GetWindow

컨테이너는 이 함수를 호출하여 컨트롤의 창 핸들을 가져옵니다.

HRESULT GetWindow(HWND* phwnd);

설명

일부 컨테이너는 현재 창이 있는 경우에도 창이 없는 컨트롤에서 작동하지 않습니다. ATL 구현에서 컨트롤 클래스의 데이터 멤버 m_bWasOnceWindowless 가 TRUE이면 함수는 E_FAIL 반환합니다. 그렇지 않으면 phwnd 가 NULL GetWindow 이 아니면 * phwnd 를 컨트롤 클래스의 데이터 멤버 m_hWnd 로 설정하고 S_OK 반환합니다.

Windows SDK에서 IOleWindow::GetWindow를 참조하세요.

IOleInPlaceObjectWindowlessImpl::InPlaceDeactivate

현재 위치 활성 컨트롤을 비활성화하기 위해 컨테이너에서 호출됩니다.

HRESULT InPlaceDeactivate(HWND* phwnd);

설명

이 메서드는 컨트롤의 상태에 따라 전체 또는 부분 비활성화를 수행 합니다. 필요한 경우 컨트롤의 사용자 인터페이스가 비활성화되고 컨트롤의 창(있는 경우)이 제거됩니다. 컨테이너에 컨트롤이 더 이상 활성 상태가 아니라는 알림이 표시됩니다. IOleInPlaceUIWindow 컨테이너에서 메뉴 및 테두리 공간을 협상하는 데 사용하는 인터페이스가 해제됩니다.

Windows SDK에서 IOleInPlaceObject::InPlaceDeactivate를 참조하세요.

IOleInPlaceObjectWindowlessImpl::OnWindowMessage

컨테이너에서 현재 위치 활성 상태인 창 없는 컨트롤로 메시지를 디스패치합니다.

HRESULT OnWindowMessage(
    UINT msg,
    WPARAM WParam,
    LPARAM LParam,
    LRESULT plResultParam);

설명

Windows SDK에서 IOleInPlaceObjectWindowless::OnWindowMessage를 참조하세요.

IOleInPlaceObjectWindowlessImpl::ReactivateAndUndo

E_NOTIMPL을 반환합니다.

HRESULT ReactivateAndUndo();

설명

Windows SDK에서 IOleInPlaceObject::ReactivateAndUndo를 참조하세요.

IOleInPlaceObjectWindowlessImpl::SetObjectRects

크기 및/또는 위치가 변경되었음을 컨트롤에 알리기 위해 컨테이너에서 호출합니다.

HRESULT SetObjectRects(LPCRECT prcPos, LPCRECT prcClip);

설명

컨트롤의 m_rcPos 데이터 멤버와 컨트롤 표시를 업데이트합니다. 클립 영역을 교차하는 컨트롤의 부분만 표시됩니다. 컨트롤의 디스플레이가 이전에 잘렸지만 클리핑이 제거된 경우 이 함수를 호출하여 컨트롤의 전체 보기를 다시 그릴 수 있습니다.

Windows SDK에서 IOleInPlaceObject::SetObjectRects를 참조하세요.

IOleInPlaceObjectWindowlessImpl::UIDeactivate

현재 위치 활성화를 지원하는 컨트롤의 사용자 인터페이스를 비활성화하고 제거합니다.

HRESULT UIDeactivate();

설명

컨트롤 클래스의 데이터 멤버 m_bUIActive 를 FALSE로 설정합니다. 이 함수의 ATL 구현은 항상 S_OK 반환합니다.

Windows SDK에서 IOleInPlaceObject::UIDeactivate를 참조하세요.

참고 항목

CComControl 클래스
클래스 개요