다음을 통해 공유


IOleInPlaceObject::SetObjectRects 메서드(oleidl.h)

표시할 현재 위치 개체의 양을 지정합니다.

구문

HRESULT SetObjectRects(
  [in] LPCRECT lprcPosRect,
  [in] LPCRECT lprcClipRect
);

매개 변수

[in] lprcPosRect

부모 창의 클라이언트 좌표를 사용하여 현재 위치 개체의 위치를 포함하는 RECT 구조체에 대한 포인터입니다.

[in] lprcClipRect

현재 위치 개체의 위치 사각형(lprcPosRect)이 포함된 외부 사각형에 대한 포인터입니다. 이 사각형은 개체 부모 창의 클라이언트 영역을 기준으로 합니다.

반환 값

이 메서드는 성공에 대한 S_OK 반환합니다. 다른 가능한 반환 값은 다음과 같습니다.

반환 코드 설명
E_INVALIDARG
지정한 포인터가 잘못되었습니다.
E_OUTOFMEMORY
작업에 사용할 수 있는 메모리가 부족합니다.
E_UNEXPECTED
예기치 않은 오류가 발생했습니다.

설명

lprcPosRect를 변경하지 않고도 lprcClipRect를 변경할 수 있습니다.

현재 위치 개체의 사각형 크기는 항상 픽셀 단위로 계산됩니다. 이는 HIMETRIC에 있는 다른 OLE 개체의 시각화와 다릅니다.

참고IOleInPlaceObject::SetObjectRects를 실행하는 동안 PeekMessage 또는 GetMessage 함수 또는 대화 상자를 호출하지 마세요. 이렇게 하면 시스템이 교착 상태에 빠질 수 있습니다. IOleInPlaceObject::SetObjectRects 내에서 OLE 인터페이스 메서드 및 함수를 호출할 수 있는 추가 제한 사항이 있습니다.
 

발신자에게 참고 사항

컨테이너는 현재 위치 개체의 창 위치 및/또는 현재 위치 개체의 표시되는 부분이 변경 될 때마다 IOleInPlaceObject::SetObjectRects 를 호출해야 합니다.

구현자에 대한 참고 사항

개체는 lprcPosRectlprcClipRect의 교차점과 일치하도록 현재 위치 창의 크기를 조정해야 합니다. 또한 개체는 적절한 클리핑이 이루어지도록 개체의 현재 위치 창에 콘텐츠를 그려야 합니다.

개체는 너비와 높이를 해당 컨테이너에서 제공하는 너비와 비교해야 합니다( lprcPosRect를 통해 전달됨). 비교 결과가 일치하지 않으면 컨테이너가 개체에 크기 조정을 적용합니다. 그런 다음 개체는 배율/확대/축소 모드에서 현재 위치 편집을 계속할지 아니면 비활성화할지 결정해야 합니다.

요구 사항

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

추가 정보

GetMessage

IOleInPlaceObject

IOleInPlaceSite::OnPosRectChange

PeekMessage