Programming

CDC 클래스

naaya 2015. 6. 24. 17:45
반응형
CDC 클래스
- CDC 객체는 디스플레이 또는 프린터와 같이 윈도우 클라이언트 영역과 관련된 디스 플레이 컨텍스트와 관계된 작업을 수행하기 위한 멤버 함수를 제공한다. 

데이터 멤버

m_hDC : CDC 객체에 의해서 사용되는 출력 디바이스 컨텍스트.

m_hAttribDC : CDC 객체에 의해서 사용되는 속성 디바이스 컨텍스트. 

생성 관련 함수

CDC : CDC 객체를 생성한다.

CreateDC : 특정 디바이스에 대한 디바이스 컨텍스트를 만든다.

CreateIC : 특정 디바이스에 대한 정보 컨텍스트를 만든다. 이것은 디바이스 컨텍스트를 만들지 않고 디바이스에 관한 정보만 빠르게 얻을 수 있는 방법을 제공한다.

CreateCompatibleDC : 다른 디바이스 컨텍스트와 호환이 가능한 메모리 디바이스 컨텍스 트를 만든다. 이것은 메모리에 이미지를 미리 읽어 들이기 위해서 사용할 수 있다.

DeleteDC : CDC 객체와 관련된 윈도우 디바이스 컨텍스트를 삭제한다.

FromHandle : 디바이스 컨텍스트에 대한 핸들이 주어졌을 때 CDC 객체에 대한 포인터를 반환한다. 만약 CDC 객체가 핸들과 연관되지 않았다면 임시로 CDC 객체를 만들고 핸들을 추가한다.

DeleteTempMap : FromHandle에 의해서 만들어진 임시 CDC 객체를 삭제하기 위해서 CWinApp가 유휴 시간 핸들러를 사용해서 호출하도록 한다. 이것은 디바이스 컨텍스트로 부터 핸들을 분리시킨다.

Attach : CDC 객체에 윈도우 핸들을 추가한다.

Detach : CDC 객체로부터 윈도우 핸들을 분리한다.

SetAttribDC : 속성 디바이스 컨텍스트인 m_hAttribDC를 설정한다.

SetOutputDC : 출력 디바이스 컨텍스트인 m_hDC를 설정한다.

ReleaseAttribDC : 속성 디바이스 컨텍스트인 m_hAttribDC를 해제한다.

ReleaseOutputDC : 출력 디바이스 컨텍스트인 m_hDC를 해제한다.

GetCurrentBitmap : 현재 선택된 CBitmap 객체에 대한 포인터를 반환한다.

GetCurrentBrush : 현재 선택된 CBrush 객체에 대한 포인터를 반환한다.

GetCurrentFont :현재 선택된 CFont객체에 대한 포인터를 반환한다.

GetCurrentPalette : 현재 선택된 CPalette 객체에 대한 포인터를 반환한다.

GetCurrentPen : 현재 선택된 CPen 객체에 대한 포인터를 반환한다.

GetWindow : 디스플레이 디바이스 컨텍스트와 관련된 윈도우를 반환하다. 

디바이스 컨텍스트 관련 함수

GetSafeHdc : 출력 디바이스 컨텍스트인 m_hDC를 반환한다.

SaveDC : 디바이스 컨텍스트의 현재 상태를 저장한다.

RestoreDC : SaveDC로 저장하기 이전 상태로 디바이스 컨텍스트를 복원한다.

ResetDC : m_hAttribDC 디바이스 컨텍스트를 갱신한다.

GetDeviceCaps : 주어진 디스플레이 디바이스의 성능에 관한 세부적인 디바이스 정보를 얻어 온다.

IsPrinting : 디바이스 컨텍스트가 인쇄를 위해서 사용될지의 여부를 결정한다. 



드로잉 도구(drawing tool)

관련 함수

GetBrushOrg : 현재의 브러시의 원점 값을 얻는다.

SetBrushOrg : 디바이스 컨텍스트에서 선택된 브러시의 원점을 설정한다.

EnumObjects : 디바이스 컨텍스트에서 이용할 수 있는 펜들과 브러시들을 열거한다. 



선택 helper 함수

SelectObject : 펜들과 같은 GDI 드로잉 객체를 선택한다.

SelectStockObject : 미리 정의된 스톡 펜, 브러시 또는 윈도우에 의해서 제공되는 폰트 중 에서 하나를 선택한다. 


컬러와 컬러

팔레트 관련 함수

GetNearestColor : 지정된 디바이스가 나타낼 수 있는 논리 컬러에 가장 근접한 논리 컬러 를 얻는다.

SelectPalette : 논리 팔레트를 선택한다.

RealizePalette : 시스템 팔레트에 현재 논리 팔레트의 항목들을 매핑한다.

UpdatedColors : 픽셀당 픽셀을 기본으로 시스템 팔레트를 이용하여 현재 클라이언트 영 역을 일치시킴으로써 디바이스 컨텍스트의 클라이언트 영역을 갱신한다.

GetHalftoneBrush : 하프톤 브러시를 얻어온다. 



드로잉 속성 관련 함수

GetBkColor : 현재의 배경색을 얻는다.

SetBkColor : 현재의 배경색을 설정한다.

GetBkMode : 배경 모드를 얻는다.

SetBkMode : 배경 모드를 설정한다.

GetPolyFillMode : 현재의 다각형을 채우기 위한 모드를 얻어 온다.

SetPolyFillMode : 다각형을 채우기 위한 모드를 설정한다.

GetROP2 : 현재의 드로잉 모드를 얻는다.

SetROP2 : 현재의 드로잉 모드를 설정한다.

GetStretchBltMode : 현재의 비트맵 확대 모드를 얻는다.

SetStretchBltMode : 비트맵 확대 모드를 설정한다.

GetTextColor : 현재의 텍스트 컬러를 얻는다.

SetTextColor : 텍스트 컬러를 설정한다.

GetColorAdjustment : 디바이스 컨텍스트에 대한 컬러 보정 값을 얻는다.

SetColorAdjustment : 특정 값을 사용하여 디바이스 컨텍스트에 대한 컬러 보정 값을 설정 한다. 

매핑 관련 함수

GetMapMode : 현재의 매핑 모드를 얻는다.

SetMapMode : 현재의 매핑 모드를 설정한다.

GetViewportOrg : 뷰포트의 원점의 x와 y좌표를 얻는다.

SetViewportOrg : 뷰포트의 원점을 설정한다.

OffsetViewportOrg : 현재 뷰포트 원점의 좌표와 관련된 뷰포트의 원점을 수정한다.

GetViewportExt : 뷰포트의 x와 y좌표를 얻는다.

SetViewportExt : 뷰포트의 x와 y좌표를 설정한다.

ScaleViewportExt : 현재 값과 관련있는 뷰포트의 범위를 수정한다.

GetWindowOrg : 관련된 윈도우의 원점에 대한 x와 y 좌표를 얻는다.

SetWindowOrg : 디바이스 컨텍스트의 윈도우 원점을 설명한다.

OffsetWindowOrg : 현재의 윈도우 원점의 좌표와 관련된 윈도우의 원점을 수정한다.

GetWindowExt : 관련된 윈도우의 x와 y의 범위를 얻는다.

SetWindowExt : 관련된 윈도우의 x와 y의 범위를 설정한다.

ScaleWindowExt : 현재 값과 관련있는 윈도우의 범위를 수정한다.




좌표 변환 함수

DPtoHTMETRIC : 디바이스 단위를 HTMETRIC 단위로 변환한다.

DPtoLP : 디바이스 단위를 논리 단위로 변환한다.

HTMETRICtoDP : HTMETRIC 단위를 디바이스 단위로 변환한다.

HTMETRICtoLP : HTMETRIC 단위를 논리 단위로 변환한다.

LPtoDP : 논리 단위를 디바이스 단위로 변환한다.

LPtoHTMETRIC : 논리 단위를 HTMETRIC 단위로 변환한다.




영역 관련 함수

FillRgn : 지정된 브러시로 특정 영역을 채운다.

FrameRgn : 브러시를 사용하여 특정 영역 주위의 경계선을 그린다.

InvertRgn : 영역에 있는 컬러들을 전부 반전시킨다.

PaintRgn : 선택한 브러시로 특정 영역을 채운다. 


클리핑(clipping)관련 함수

SetBoundsRect : 지정된 디바이스 컨텍스트에 대한 사각형 경계영역의 정보를 설정한다.

GetBoundsRect : 지정된 디바이스 컨텍스트에 대해서 현재 설정된 사각형 경계영역의 정 보를 반환한다.

GetClipBox : 화면의 클리핑 경계에 가장 가까운 사각형의 크기를 얻는다.

SelectClipRgn : 특정 모드를 사용하여 현재 클리핑 영역과 조합한다.

ExcludeClipRect : 현재의 클리핑 영역에서 지정된 사각형 영역을 빼낸 후에 새로운 클리핑 영역을 생성한다.

ExcludeUpdateRgn : 클리핑 영역에서 윈도우에 있는 갱신될 영역을 제외함으로써 유효하지 않은 영역에 그려지는 것을 막는다.

IntersectClipRect : 현재 영역과 사각형의 교차 영역을 만들어서 새로운 클리핑 영역을 만 든다.

OffsetClipRgn : 주어진 디바이스의 클리핑 영역 x 축과 y 축으로 각각 이동한다.

PtVisible : 클리핑 영역에 주어진 점이 존재하는지의 여부를 알아낸다.

RectVisible : 주어진 사각형의 임의의 부분이 클리핑 영역 내에 있는지를 알아낸다. 


선 출력 함수

GetCurrentPosition : 펜의 현재 좌표를 얻는다.

MoveTo : 현재 좌표를 이동한다.

LineTo : 현재 좌표에서 지정된 좌표까지 선을 그린다.

Arc : 타원형의 호를 그린다.

Arcto : 타원형의 호를 그린다. (현재 좌표가 갱신되는 것을 제외하면 Arc와 비슷하다.)

AngleArc : 선분과 호를 그리고 현재 좌표를 호의 끝점으로 이동한다.

GetArcDirection : 디바이스 컨텍스트에서 현재 호를 그리는 방향을 반환한다.

SetArcDirection : 호와 사각형을 그리기 위한 방향을 설정한다.

PolyDraw : 선분과 베지어 스플라인을 그린다. 이 함수는 현재 좌표를 갱신한다.

PolyLine : 지정된 점들을 연결하는 선을 그린다.

PolyPolyLine : 연결된 선을 여러 개 그린다. 현재 좌표는 함수에 의해서 사용되거나 갱신되지 않는다.

PolyLineTo : 하나 이상의 직선을 그리고 마지막 선의 끝점으로 현재 좌표를 이동한다.

PolyBezier : 하나 이상의 베지어 스플라인을 그린다. 현재 좌표는 사용되나 갱신되지 않는 다.

PolyBezierTo : 하나 이상의 베지어 스플라인을 그리고 마지막 베지어 스플라인의 끝점으로 현재 좌표를 이동한다. 


단순 드로잉 함수

FillRect : 특정 브러시를 사용하여 지정된 사각형을 채운다.

FrameRect : 사각형 주변에 경계선을 그린다.

InvertRect : 사각형 내부를 반전시킨다.

DrawIcon : 아이콘을 그린다.

DrawDragRect : 드래그된 사각형을 지우거나 다시 그린다.

FillSolidRect : 솔리드 컬러로 사각형을 채운다.

Draw3dRect : 3차원 형태의 사각형을 그린다.

DrawEdge : 사각형의 모서리를 그린다.

DrawFrameControl : 프레임 컨트롤을 그린다.

DrawState : 이미지를 출력하고 현재 상태를 나타내는 효과를 적용한다. 


타원과 다각형(Polygon) 함수

Chord : 현을 그린다.

DrawFocusRect : 포커스를 가지고 있는 형태로 사각형을 그린다.

Ellipse : 타원을 그린다.

Pie : 파이 모양을 그린다.

Polygon : 선들에 의해서 연결된 두 개 이상의 점들로 이루어지는 다각형을 그린다.

PolyPolygon : 현재의 다각형 채우기 모드를 사용하여 두 개 이상의 다각형을 그린다. 이 다각형들은 합쳐지지는 않지만 겹쳐질 수는 있다.

Polyline : 지정된 점들을 연결하는 선들의 조합으로 이루어진 다각형을 그린다.

Rectangle : 현재의 펜을 사용하여 사각형을 그리고 현재의 브러시를 사용하여 사각형을 채운다.

RoundRect : 현재의 펜을 사용하여 모서리가 둥근 형태의 사각형을 그리고, 현재의 브러시 를 사용하여 채운다. 


비트맵 함수

PatBlt : 비트 패턴을 만든다.

BitBlt : 지정된 디바이스 컨텍스트에서 비트맵을 복사한다.

StretchBlt : 디바이스의 원본 사각형에서 대상 사각형으로 비트맵을 이동시킨다. 비트맵의 크기가 대상 사각형의 원본보다 크거나 작다면 비트맵을 적당히 늘리거나 줄여서 이동시킨다.

GetPixel : 지정된 픽셀의 RGB컬러 값을 얻는다.

SetPixel : 지정된 컬러의 근사값으로 지정된 좌표에 점을 찍는다.

SetPixelV : 지정된 컬러의 근사값으로 지정된 좌표에 점을 찍는다. SetPixelV는 찍힌 점의 컬러 값을 반환할 필요가 없기 때문에 SetPixel보다 더 빠르다.

FloodFill : 현재의 브러시를 사용하여 영역을 채운다.

ExtFloodFill : 현재의 브러시로 영역을 채운다. FloodFill 멤버함수보다는 약간의 유연성을 제공한다.

MaskBlt : 주어진 마스크와 래스터 연산을 사용하여 원본과 대상 비트맵에 대한 컬러 데이터를 합친다.

PlgBlt : 원본 디바이스 컨텍스트의 지정된 사각형에서 주어진 디바이스 컨텍스트의 지정 된 평행사변형 영역에 비트맵을 복사한다. 


텍스트 관련 함수

TextOut : 현재의 선택된 폰트를 사용하여 지정된 위치에 문자열을 출력한다.

ExtTextOut : 현재의 선택된 폰트를 사용하여 지정된 사각형의 영역 내에 문자열을 출력 한다.

TabbedTextOut : 탭이 멈추는 위치를 지정해 주면 그 위치에 문자열을 출력한다.

DrawText : 지정된 사각형 안에 포맷된 형태의 텍스트를 출력한다.

GetTextExtent : 크기를 결정하기 위해서 현재 폰트를 사용한 속성 디바이스 컨텍스트 상 에서 텍스트의 폭과 높이를 얻는다.

GetOutputTextExtent : 출력 디바이스 컨텍스트 상에서 텍스트의 폭과 높이를 얻는다.

GetTabbedTextExtent : 속성 디바이스 컨텍스트 상에서 주어진 탭 지정 문자열의 폭과 높이를 얻는다.

GetOutputTabbedTextExtent : 출력 디바이스 컨텍스트 상에서 주어진 탭 지정 문자열의 폭 과 높이를 얻는다.

GrayString : 주어진 위치에 희미하게 출력되는 텍스트를 출력한다.

GetTextAlign : 텍스트 정렬 플래그 값을 얻는다.

SetTextAlign : 텍스트 정렬 플래그 값을 설정한다.

GetTextFace : 버퍼에 현재 폰트의 폰트 이름을 복사한다.

GetTextMetrics : 속성 디바이스 컨텍스트에서 현재의 폰트에 대한 크기를 얻는다.

GetOutputTextMetrics : 출력 디바이스 컨텍스트에서 현재의 폰트에 대한 크기를 얻는다.

SetTextJustification : 문자열의 사이에 공백을 추가한다.

GetTextCharacterExtra : 현재 설정된 문자 사이의 공백을 얻는다.

SetTextCharacterExtra : 문자 사이의 공백을 설정한다. 


폰트 함수

GetFontData : 폰트의 크기 정보를 가변폭 폰트 파일로 얻는다. 얻기 위한 정보는 폰트 파일 안에 오프셋을 지정함으로써 구별되고, 반환된 정보의 길이 역시 구별된다.

GetKerningPairs : 현재 지정된 디바이스 컨텍스트에서 선택된 폰트에 대한 문자 kerning 쌍을 얻는다.

GetOutputTextMetrics : 트루 타입 폰트에 대한 폰트 크기 정보를 얻는다.

GetGlyphOutline : 현재의 폰트에서 외곽선 문자에 대한 곡선 또는 비트맵을 얻는다.

GetCharABCWidths : 지정된 범위에 있는 연속된 문자의 폭을 논리 단위로 얻는다.

GetCharWidth : 속성 디바이스 컨텍스트에서 연속된 문자열에 대한 개별 문자의 폭을 얻는다.

GetOutputCharWidth : 출력 디바이스 컨텍스트에서 연속된 문자열에 대한 개별 문자의 폭 을 얻는다.

SetMapperFlags : 논리적인 폰트를 물리적인 폰트로 매핑할 때 폰트 매퍼가 사용할 알고리즘을 설정한다.

GetAspectRatioFilter : 현재 폰트의 종횡비 필터에 대한 설정 값을 얻는다. 


프린터 확장 함수

QueryAbort : 애플리케이션에서 인쇄를 수행하거나 혹은 인쇄가 종료되었는지를 쿼리하기 위한 AbortProc 콜백함수를 호출한다.

Escape : GDI를 통해서 특별한 디바이스에 직접 사용할 수 없는 부분을 참조하기 위해서 애플리케이션을 허용하도록 한다. 또한 윈도우 확장 함수에 대한 참조를 허가한다

. 애플리케이션에 의해서 만들어진 Escape 호출은 적절히 변환되어 디바이스 드라이버에게 보내진다.

DrawEscape : GDI를 통해서 직접적으로 이용할 수 없는 비디오 디스플레이의 드로잉 능력을 참조한다.

StartDoc : 새로운 인쇄 작업이 시작되었음을 디바이스 드라이버에게 알린다.

StartPage : 새로운 페이지가 시작되었음을 디바이스 드라이버에게 알린다.

EndPage : 페이지가 끝났음을 디바이스 드라이버에게 알린다.

SetAbortProc : 인쇄 작업이 중단될 때 프로그래머가 작성한 콜백 함수를 호출할 수 있도록 설정한다.

AbortDoc : 애플리케이션이 StartDoc 멤버 함수의 마지막 호출 후에 디바이스 컨텍스트에 출력한 모든 내용을 지우고 현재의 인쇄 작업을 종결한다.

EndDoc : StartDoc 멤버 함수에 의해서 시작된 인쇄 작업을 마친다. 


스크롤 관련 함수

ScrollDC : 직사각형 영역을 수평과 수직으로 스크롤한다. 


메타 파일 관련 함수

PlayMetaFile : 주어진 디바이스 상에서 지정된 메타 파일의 내용을 수행한다. PlayMetaFile 의 확장된 버전은 주어진 확장 포맷 메타 파일에 저장된 그림을 출력한다. 메타 파일 은 원하는 만큼 재생이 가능하다.

AddMetaFileComment : 버퍼에서 지정된 확장 포맷 형태의 메타 파일로 주석을 복사한다. 


경로 함수

AbortPath : 디바이스 컨텍스트에서 임의의 경로를 닫고 없앤다.

BeginPath : 디바이스 컨텍스트에서 경로 대괄호를 연다.

CloseFigure : 경로에서 열려있는 도형을 닫는다.

EndPath : 경로 대괄호를 닫고 디바이스 컨텍스트에서 대괄호로 정의된 경로를 선택한다.

FillPath : 현재 경로에 열려 있는 도형들을 닫고 현재의 브러시와 다각형을 채우기 위한 모드를 사용하여 경로의 내부를 채운다.

FlattenPath : 현재의 디바이스 컨텍스트의 선택된 경로에서 임의의 곡선을 전달하고 연속 된 선으로 변환한다.

GetMiterLimit : 디바이스 컨텍스트에 대한 미터 제한을 반환한다.

GetPath : 선의 끝점을 정의하는 좌표를 얻고 곡선의 제어점을 디바이스 컨텍스트에서 선택된 경로에서 찾는다.

SelectClipPath : 현재의 경로를 지정된 모드를 사용하여 기존의 클리핑 영역과 새로운 영 역을 결합한 디바이스 컨텍스트를 위한 클리핑 영역을 선택한다.

SetMiterLimit : 디바이스 컨텍스트를 위한 미터 결합의 한계를 설정한다.

StrockeAndFillPath : 경로 상에 열려 있는 도형을 닫고, 현재의 펜을 사용하여 경로의 외곽선을 그린 후에 현재의 브러시를 사용하여 내부를 채운다.

StrockPath : 현재의 펜을 사용하여 지정된 경로를 표현한다.

WidenPath : 디바이스 컨텍스트에서 선택된 현재의 펜으로 경로가 그려지면, 그 영역이 그려짐으로 인해서 현재 경로를 다시 정의하게 된다. 


반응형

'Programming' 카테고리의 다른 글

리눅스 netstat  (0) 2015.08.24
리눅스 그룹관리  (0) 2015.08.20
데이터타입  (0) 2015.06.23
언제 어느 컨테이너를 사용할 것인가?  (0) 2015.06.08
복사생성자 사용  (0) 2015.06.05