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를 참조하세요.