다음을 통해 공유


IOleObject::SetExtent 메서드(oleidl.h)

컨테이너에 할당된 디스플레이 공간의 양을 개체에 알릴 수 있습니다.

구문

HRESULT SetExtent(
  [in] DWORD dwDrawAspect,
  [in] SIZEL *psizel
);

매개 변수

[in] dwDrawAspect

표시할 개체의 폼 또는 "측면"을 설명하는 DWORD입니다. 개체의 컨테이너는 열거형 DVASPECT 에서 이 값을 가져옵니다( FORMATETC 열거형 참조). 가장 일반적인 측면은 컨테이너 내에서 개체의 전체 렌더링을 지정하는 DVASPECT_CONTENT. 개체를 아이콘, 검색 도구에 표시할 썸네일 버전 또는 인쇄 버전으로 렌더링할 수도 있습니다. 그러면 개체가 파일 인쇄 명령을 사용하여 렌더링될 때와 같이 표시됩니다.

[in] psizel

개체의 크기 제한에 대한 포인터입니다.

반환 값

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

반환 코드 설명
E_FAIL
작업이 실패했습니다.
OLE_E_NOTRUNNING
개체가 실행되고 있지 않습니다.

설명

컨테이너는 IOleObject::SetExtent 를 호출합니다. 포함된 개체에 표시할 크기를 지정해야 하는 경우 이 호출은 개체 창의 크기를 조정하는 최종 사용자에 대한 응답으로 발생하는 경우가 많습니다. 호출을 받으면 가능한 경우 개체가 새 창에 맞게 정상적으로 다시 구성되어야 합니다.

가능하면 컨테이너는 개체의 네이티브 크기라고도 하는 최상의 해상도로 개체를 표시하려고 합니다. 그러나 모든 개체는 애플리케이션에서 지정한 기본 표시 크기를 가지며, 다른 제약 조건이 없는 경우 이 크기는 직접 표시하는 데 사용할 크기입니다. 개체가 컨테이너보다 최적의 표시 크기를 더 잘 알고 있으므로 후자는 일반적으로 IOleObject::SetExtent를 호출하여 실행 중인 개체에서 해당 크기를 요청합니다. 컨테이너가 개체에서 반환된 값을 수용할 수 없는 경우에만 IOleObject::SetExtent를 호출하여 개체의 기본 설정을 재정의합니다.

발신자에게 참고 사항

개체가 실행 중인 경우에만 개체에서 IOleObject::SetExtent 를 호출할 수 있습니다. 개체가 실행되지 않는 동안 컨테이너가 개체의 크기를 조정하는 경우 컨테이너는 개체의 새 크기를 추적하지만 사용자가 개체를 활성화할 때까지 IOleObject::SetExtent 호출을 연기해야 합니다. OLEMISC_RECOMPOSEONRESIZE 비트가 개체에 설정된 경우 해당 컨테이너는 IOleObject::SetExtent를 호출하기 전에 개체를 강제로 실행해야 합니다.

위에서 설명한 것처럼 컨테이너는 IOleObject::SetExtent를 호출하여 개체의 표시 사이트 크기를 개체 자체로 설정하는 책임을 위임할 수 있습니다.

구현자에 대한 참고 사항

개체가 컨테이너에서 사용할 수 있는 최대 공간과 최대한 일치하도록 크기가 조정되도록 이 메서드를 구현할 수 있습니다.

개체의 크기가 고정된 경우 즉, 컨테이너에서 설정할 수 없는 경우 IOleObject::SetExtent 는 E_FAIL 반환해야 합니다. 이는 항상 컨테이너가 아닌 링크 원본에 의해 크기가 설정된 연결된 개체의 경우입니다.

요구 사항

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

추가 정보

IAdviseSink::OnViewChange

IOleObject

IOleObject::GetExtent

IViewObject2::GetExtent