다음을 통해 공유


ATL_DRAWINFO 구조체

프린터, 메타파일 또는 ActiveX 컨트롤과 같은 다양한 대상에 렌더링하는 데 사용되는 정보를 포함합니다.

구문

struct ATL_DRAWINFO {
    UINT cbSize;
    DWORD dwDrawAspect;
    LONG lindex;
    DVTARGETDEVICE* ptd;
    HDC hicTargetDev;
    HDC hdcDraw;
    LPCRECTL prcBounds;
    LPCRECTL prcWBounds;
    BOOL bOptimize;
    BOOL bZoomed;
    BOOL bRectInHimetric;
    SIZEL ZoomNum;
    SIZEL ZoomDen;
};

멤버

cbSize
구조체의 크기(바이트)입니다.

dwDrawAspect
대상을 나타내는 방법을 지정합니다. 표현에는 콘텐츠, 아이콘, 썸네일 또는 인쇄된 문서가 포함될 수 있습니다. 가능한 값 목록은 DVASPECTDVASPECT2 참조하세요.

lindex
그리기 작업에 관심 있는 대상의 일부입니다. 해당 해석은 멤버의 값 dwDrawAspect 에 따라 달라집니다.

ptd
지정된 측면에 따라 그리기 최적화를 가능하게 하는 DVTARGETDEVICE 구조체에 대한 포인터입니다. 최적화된 그리기 인터페이스를 지원하는 최신 개체 및 컨테이너도 이 멤버를 지원합니다. 최적화된 그리기 인터페이스를 지원하지 않는 이전 개체 및 컨테이너는 항상 이 멤버에 대해 NULL을 지정합니다.

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

hdcDraw
그릴 디바이스 컨텍스트입니다. 창 없는 개체의 hdcDraw 경우 멤버는 포함된 창의 MM_TEXT 클라이언트 좌표와 일치하는 논리 좌표를 사용하여 매핑 모드에 있습니다. 또한 디바이스 컨텍스트는 일반적으로 메시지에서 전달되는 WM_PAINT 것과 동일한 상태여야 합니다.

prcBounds
개체를 그릴 hdcDraw및 사각형을 지정하는 RECTL 구조체에 대한 포인터입니다. 이 멤버는 개체의 위치 및 스트레칭을 제어합니다. 창 없는 현재 위치 활성 개체를 그리려면 이 멤버가 NULL이어야 합니다. 다른 모든 상황에서 NULL은 법적 값이 아니며 오류 코드가 E_INVALIDARG 발생합니다. 컨테이너가 NULL이 아닌 값을 창 없는 개체에 전달하는 경우 개체는 요청된 측면을 지정된 디바이스 컨텍스트 및 사각형으로 렌더링해야 합니다. 컨테이너는 창이 없는 개체에서 개체의 두 번째 비활성 보기를 렌더링하거나 개체를 인쇄하도록 요청할 수 있습니다.

prcWBounds
메타파일 디바이스 컨텍스트인 경우hdcDraw(Windows SDK의 GetDeviceCaps 참조) 기본 메타파일의 경계 사각형을 지정하는 구조에 대한 포인터 RECTL 입니다. 사각형 구조에는 창 익스텐트 및 창 원본이 포함됩니다. 이러한 값은 메타파일을 그리는 데 유용합니다. 표시된 prcBounds 사각형은 이 prcWBounds 사각형 내부에 중첩되어 있으며 동일한 좌표 공간에 있습니다.

bOptimize
컨트롤의 그리기를 최적화하려면 0이 아니고, 그렇지 않으면 0입니다. 그리기를 최적화하면 렌더링이 완료되면 디바이스 컨텍스트의 상태가 자동으로 복원됩니다.

bZoomed
대상에 확대/축소 요소가 있으면 0이 아니고, 그렇지 않으면 0입니다. 확대/축소 인수는 에 ZoomNum저장됩니다.

bRectInHimetric
차원이 prcBounds HIMETRIC에 있으면 0이 아니고, 그렇지 않으면 0입니다.

ZoomNum
개체가 렌더링되는 사각형의 너비와 높이입니다. 대상의 x축(개체의 자연 크기에서 현재 범위까지의 비율)의 확대/축소 비율은 값으로 나눈 값 ZoomNum.cx ZoomDen.cx입니다. y축의 확대/축소 비율은 비슷한 방식으로 수행됩니다.

ZoomDen
대상의 실제 너비 및 높이입니다.

설명

이 구조체의 일반적인 사용은 대상 개체를 렌더링하는 동안 정보를 검색하는 것입니다. 예를 들어 CComControlBase::OnDrawAdvanced오버로드 내에서 ATL_DRAWINFO 값을 검색할 수 있습니다.

이 구조체는 대상 디바이스에 대한 개체의 모양을 렌더링하는 데 사용되는 관련 정보를 저장합니다. 제공된 정보는 화면, 프린터 또는 메타파일로 그리는 데 사용할 수 있습니다.

요구 사항

헤더: atlctl.h

참고 항목

클래스 및 구조체
IViewObject::Draw
CComControlBase::OnDrawAdvanced