IViewObject::GetColorSet 메서드(oleidl.h)

해당 매개 변수를 사용하여 개체가 IViewObject::D raw 메서드에서 그리는 데 사용할 논리 팔레트를 반환합니다.

구문

HRESULT GetColorSet(
  [in]  DWORD          dwDrawAspect,
  [in]  LONG           lindex,
  [in]  void           *pvAspect,
  [in]  DVTARGETDEVICE *ptd,
  [in]  HDC            hicTargetDev,
  [out] LOGPALETTE     **ppColorSet
);

매개 변수

[in] dwDrawAspect

개체를 표현할 방법을 지정합니다. 표현에는 콘텐츠, 아이콘, 축소판 그림 또는 인쇄된 문서가 포함됩니다. 유효한 값은 열거형 DVASPECT에서 가져옵니다. 자세한 내용은 DVASPECT 열거형을 참조하세요.

[in] lindex

그리기 작업의 대상인 개체의 부분입니다. 해석은 dwDrawAspect에 따라 다릅니다. 자세한 내용은 DVASPECT 열거형을 참조하세요.

[in] pvAspect

dwDrawAspect에 지정된 개체의 뷰에 대한 추가 정보에 대한 포인터입니다. 현재 측면 중 어느 것도 추가 정보를 지원하지 않으므로 pvAspect 는 항상 NULL이어야 합니다.

[in] ptd

개체를 렌더링할 디바이스를 설명하는 DVTARGETDEVICE 구조체에 대한 포인터입니다. NULL인 경우 기본 대상 디바이스(일반적으로 표시)에 대해 뷰를 렌더링해야 합니다. NULL 이외의 값은 hicTargetDevhdcDraw와 함께 해석됩니다. 예를 들어 hdcDraw 가 프린터를 디바이스 컨텍스트로 지정하는 경우 ptd는 해당 프린터 디바이스를 설명하는 구조를 가리킵니다. hicTargetDev가 유효한 값이거나 hicTargetDevNULL인 경우 인쇄 미리 보기 모드로 표시될 수 있는 경우 데이터가 실제로 인쇄될 수 있습니다.

[in] hicTargetDev

개체가 디바이스 메트릭을 추출하고 디바이스의 기능을 테스트할 수 있는 ptd 매개 변수로 표시된 대상 디바이스에 대한 정보 컨텍스트입니다. ptdNULL인 경우 개체는 hicTargetDev 매개 변수를 무시해야 합니다.

[out] ppColorSet

LOGPALETTE 구조체에 대한 포인터를 수신하는 LOGPALETTE 포인터 변수의 주소입니다. LOGPALETTE 구조체에는 IViewObject::D rawdwAspect, lindex, pvAspect, ptdhicTargetDev에 대해 동일한 매개 변수로 호출된 경우 사용할 색 집합이 포함되어 있습니다. ppColorSetNULL이면 개체는 팔레트를 사용하지 않습니다.

반환 값

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

반환 코드 설명
S_FALSE
색 집합이 비어 있거나 개체가 정보를 제공하지 않습니다.
OLE_E_BLANK
개체에 대한 프레젠테이션 데이터가 없습니다.
DV_E_LINDEX
lindex의 값이 잘못되었습니다. 현재 -1만 지원됩니다.
DV_E_DVASPECT
dwAspect 값이 잘못되었습니다.
E_INVALIDARG
제공된 매개 변수 값 중 하나 이상이 잘못되었습니다.
E_OUTOFMEMORY
이 작업에 사용할 수 있는 메모리가 부족합니다.

설명

IViewObject::GetColorSet 메서드는 중첩된 개체를 재귀적으로 쿼리하고 요청된 모든 색의 합집합을 나타내는 색 집합을 반환합니다. 색 집합은 결국 창 프레임을 소유하는 최상위 컨테이너에 percolate됩니다. 이 컨테이너는 포함된 각 개체에서 IViewObject::GetColorSet 을 호출하여 포함된 개체를 그리는 데 필요한 모든 색을 가져올 수 있습니다. 컨테이너는 전체 색상표를 설정하는 데 필요한 다른 색과 함께 가져온 색 집합을 사용할 수 있습니다.

IViewObject::GetColorSet의 OLE 제공 구현은 그림을 그리기 위해 보유하고 있는 데이터를 확인합니다. CF_DIB 그리기 형식인 경우 비트맵에 있는 팔레트가 사용됩니다. 일반 비트맵의 경우 색 정보가 반환되지 않습니다. 그리기 형식이 메타파일인 경우 개체 처리기는 CreatePalette 메타파일 레코드를 찾는 메타파일을 열거합니다. 하나가 발견되면 처리기는 이를 색 집합으로 사용합니다.

요구 사항

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

추가 정보

DVASPECT

IViewObject