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
대상을 나타내는 방법을 지정합니다. 표현에는 콘텐츠, 아이콘, 썸네일 또는 인쇄된 문서가 포함될 수 있습니다. 가능한 값 목록은 DVASPECT 및 DVASPECT2 참조하세요.
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