CDC
CObject
└CDC
CDC 클래스는 장치 컨텍스트 객체의 클래스를 정의합니다.
CDC 개체는 모니터나 프린터와 같은 장치 컨텍스트를 처리하는 멤버 함수와 창 고객 영역에 해당하는 디스플레이 컨텍스트를 처리하는 멤버를 제공합니다.
모든 드로잉은 CDC 개체의 멤버 함수를 통해 수행됩니다.
클래스는 장치 컨텍스트 작업에 대한 멤버 함수를 제공하여 드로잉 도구를 처리합니다. 보안 그래픽 장치 인터페이스 (GDI) 개체 수집 및 색상 및 팔레트 처리
드로잉 속성 가져오기 및 설정, 매핑, 관측점 처리, 창 확장, 좌표 변환, 영역 처리, 잘라내기, 선 그리기, 단순 타원 및 다각형 그리기 등의 모양에 대한 멤버 함수도 제공합니다.
또한 텍스트 그리기, 글꼴 처리, 프린터 점프 사용, 메타 파일 스크롤 및 재생을 위한 멤버 함수도 제공됩니다.
CDC 객체를 사용할 때 이를 구성한 다음 장치 컨텍스트를 사용하는 동등한 Windows 함수의 멤버 함수를 호출합니다.
참고:
Windows 95 의 모든 화면 좌표는 16 비트로 제한됩니다. 따라서 CDC 멤버 함수에 전달되는 int 는 -32768 에서 32767 사이여야 합니다.
특정 목적을 위해 Microsoft 기본 클래스 라이브러리는 몇 가지 CDC 파생 클래스를 제공합니다. CPaintDC 에는 BeginPaint 및 EndPaint 호출이 포함됩니다.
클라이언트 DC 관리 창 사용자 영역에 해당하는 표시 컨텍스트입니다.
CWindowDC 는 구조와 컨트롤을 포함하여 전체 창에 해당하는 표시 컨텍스트를 관리합니다.
CMetaFileDC 는 메타 파일이 있는 디바이스 컨텍스트에 해당합니다.
CDC 에는 CDC 개체를 만들 때 동일한 장치를 참조하는 m_hDC 와 m_hAttribDC 라는 두 가지 장치 컨텍스트가 포함되어 있습니다.
CDC 는 m_hDC 에 대한 모든 출력 GDI 호출과 m_hAttribDC 에 대한 대부분의 속성 GDI 호출을 안내합니다 (속성 호출의 예로는 GetTextColor, 출력 호출은 SetTextColor).
예를 들어 프레임워크는 이 두 가지 장치 컨텍스트를 사용하여 실제 장치에서 속성을 읽는 동안 메타 파일로 출력을 전송하는 CMetaFileDC 개체를 구현합니다.
인쇄 미리 보기는 동일한 스타일로 프레임에서 구현됩니다. 이 두 장치 컨텍스트는 특수 응용 프로그램 코드에서 유사한 방법으로 사용할 수도 있습니다.
M_hDC 및 m_hAttribDC 장치 컨텍스트의 텍스트 측정 정보가 여러 번 필요할 수 있습니다.
이 기능은 다음과 같은 함수 쌍에서 사용할 수 있습니다.
M_hAttribDC 사용 m _ hdc 사용
Gettext extent getoutputtextextent
Gettabbedtextextent getoutputtabbedtextextent
Gettext metrics getoutputtextmetrics
Getchar width getoutputcharwidth
CDC 에 대한 자세한 내용은 온라인 설명서 Visual C++ 프로그래머 안내서의 "장치 컨텍스트" 를 참조하십시오.
# includelt; Afxwin.hgt;;
참조: CPaintDC, 클라이언트 DC, CWindowDC, c 메타파일 DC
CDC 클래스 멤버
데이터 멤버 m_hDC CDC 객체에 사용되는 출력 장치 컨텍스트
M_hAttribDC CDC 객체에 사용되는 출력 속성 컨텍스트
생성자 CDC CDC 객체 구성
CreateDC 초기화 지정된 디바이스에 대한 디바이스 컨텍스트 생성
CreateIC 은 지정된 장치에 대한 정보 컨텍스트를 작성합니다. 이렇게 하면 디바이스 컨텍스트를 만들지 않고 디바이스 정보를 빠르게 얻을 수 있습니다
CreateCompatibleDC 는 다른 장치 컨텍스트와 일치하는 메모리 장치 컨텍스트를 만듭니다. 이를 사용하여 메모리에 이미지를 준비할 수 있습니다
DeleteDC CDC 개체에 해당하는 Windows 장치 컨텍스트 삭제
FromHandle 이 장치 컨텍스트 핸들을 지정하면 CDC 객체에 대한 포인터를 반환합니다. CDC 개체가 핸들에 첨부되지 않은 경우 임시 CDC 개체 생성 및 첨부
DeleteTempMap 은 CWinApp 유휴 시간 핸들에 의해 호출되어 FromHandle 에서 만든 임시 CDC 객체를 삭제합니다.
장치 컨텍스트 동시 분리
Attach 는 Windows 디바이스 컨텍스트를 이 CDC 개체에 연결합니다
Detach 는 CDC 개체에서 Windows 디바이스 컨텍스트를 분리합니다.
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 은 사용 중인 디바이스 컨텍스트가 인쇄에 사용되는지 여부를 결정합니다.
보안 선택 도우미 GetBrushOrg 현재 브러시의 시작 지점 가져오기
SetBrushOrg 선택한 장치 컨텍스트에 대한 다음 브러쉬의 시작점 지정
EnumObjects 열거 장치 컨텍스트에서 유효한 펜과 브러시
색상 및 색상 팔레트 함수 SelectObject 펜 선택 등의 GDI 드로잉 개체
SelectStockObject Windows 에서 제공하는 미리 정의된 펜, 브러시 또는 글꼴 선택
그리기 도구 함수 GetNearestColor 주어진 장치가 표시할 수 있는 지정된 논리 색상과 가장 가까운 논리 색상을 가져옵니다
선택 팔레트 논리적 팔레트 선택
RealizePalette 는 현재 논리 팔레트의 팔레트 포털을 시스템 팔레트에 매핑합니다
UpdateColors 는 픽셀 기반 시스템 팔레트와 일치하는 고객 영역의 현재 색상을 통해 장치 컨텍스트의 고객 영역을 업데이트합니다
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 현재 값을 기준으로 창 범위 수정
좌표 함수 DPtoHIMETRIC 장치 단위를 HIMETRIC 단위로 변환
LPtoHIMETRIC 논리 단위를 HIMETRIC 단위로 변환
DPtoLP 장치 단위를 논리 단위로 변환
LPtoDP 논리 단위를 장치 단위로 변환
HIMETRICtoDPHIMETRIC 단위를 장치 단위로 변환
HIMETRICtoLPHIMETRIC 단위를 논리 단위로 변환
영역 함수 FillRgn 지정된 브러시로 지정된 영역 채우기
FrameRgn 브러시로 지정된 영역 주위에 가장자리 그리기
InvertRgn 반전 영역의 색상
PaintRgn 선택한 브러시로 영역 채우기
전단 함수 SetBoundsR
Ect 는 지정된 디바이스 컨텍스트 바인딩에 대한 직사각형 정보의 누적
을 제어합니다GetBoundsRect 는 장치 컨텍스트의 현재 누적 바인딩 직사각형
을 반환합니다GetClipBox 는 현재 자르기 경계 주변에서 가장 단단히 바인딩된 사각형의 치수를 가져옵니다
SelectClipRgn 지정된 모드를 사용하여 지정된 영역과 현재 자르기 영역 병합
ExcludeClipRect 기존 자르기 영역에서 지정된 사각형을 뺀 새 자르기 영역 만들기
ExcludeUpdateRgn 은 창의 업데이트 영역을 자르기 영역에서 제외하여 창의 잘못된 영역에 그려지지 않도록 합니다
IntersectClipRect 는 현재 영역과 직사각형의 교차점을 구성하여 새 자르기 영역을 작성합니다
OffsetClipRgn 지정된 장치의 전단 영역 이동
PtVisible 은 지정된 점이 절단 영역 내에 있는지 여부를 결정합니다
RectVisible 은 지정된 직사각형의 일부가 절단 영역 내에 있는지 여부를 결정합니다
선 내보내기 함수 GetCurrentPosition 은 펜의 현재 위치 (논리 좌표로 표시됨)
MoveTo 현재 위치 이동
LineTo 는 현재 위치에서 한 점까지 선을 그리지만 그 점
은 포함하지 않습니다Arc 타원형 호 그리기
ArcTo 타원형 호를 그립니다. 이 함수는 현재 위치를 업데이트한다는 점을 제외하고 Arc 와 유사합니다
AngleArc 는 선 세그먼트와 호를 그리고 현재 위치를 호 끝점으로 이동합니다
GetArcDirection 은 장치 컨텍스트에 대해 현재 호 방향을 반환합니다
SetArcDirection 장치 호 및 직사각형 함수에 사용할 그리기 방향
PolyDraw 는 선 세그먼트와 베지어 스플라인 세트를 그립니다. 이 함수는 현재 위치 Polyline 이 지정된 점에 연결된 선 세그먼트 세트를 그리도록 업데이트합니다
폴리 폴리라인은 여러 개의 연결된 선 세그먼트를 그립니다. 이 함수는 현재 위치를 사용하거나 업데이트하지 않습니다
PolylineTo 하나 이상의 선을 그리고 현재 위치를 마지막 선의 끝으로 이동합니다
폴리 베지어는 하나 이상의 베지어 스플라인을 그립니다.
사용하지 않거나 현재 위치 업데이트 안 함
PolyBezierTo 하나 이상의 베지어 스플라인을 그리고 현재 위치를 마지막 베지어 스플라인의 끝으로 이동
단순 그리기 함수 FillRect 지정된 브러시로 지정된 직사각형 채우기
FrameRect 는 직사각형 주위에 경계를 그립니다
InvertRect 직사각형 컨텐츠 반전
DrawIcon 그리기 아이콘
DrawDragRect 사각형을 드래그할 때 지우고 다시 그리기
FillSolidRect 는 사각형을 단색으로 채웁니다
Draw3Drect 3d 직사각형 그리기
DrawEdge 직사각형 가장자리 그리기
DrawFrameControl 프레임 컨트롤 그리기
DrawState 는 이미지를 표시하고 시각화를 적용하여 상태를 나타냅니다
타원과 다각형 함수 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 지정된 장치 컨텍스트에서 현재 선택된 글꼴 문자 쌍 가져오기
GetOutlineTextMetrics 트루타입 글꼴에 대한 글꼴 측정 정보 가져오기
GetGlyphOutline 현재 글꼴에서 외부 선 문자열에 사용되는 외부 선 곡선 또는 비트맵 가져오기
GetCharABCWidths 는 현재 글꼴에서 주어진 범위의 연속 문자를 논리 단위로 계산한 폭
GetCharWidth 는 현재 글꼴에서 주어진 범위의 연속 문자에 대한 분수 폭을 가져옵니다
GetOutputCharWidth 는 출력 장치 컨텍스트를 사용하는 현재 글꼴에서 연속 문자 그룹에 있는 각 문자의 폭을 가져옵니다
SetMapperFlags 는 글꼴 매핑 테이블이 논리적 글꼴에서 물리적 문자로의 매핑에 사용하는 알고리즘을 변경합니다.
GetAspectRatioFilter 현재 종횡비 필터 설정 가져오기
프린터 점프 함수 QueryAbort 인쇄 응용 프로그램에 AbortPro 롤백 함수를 호출하여 인쇄를 종료해야 하는지 묻습니다.
Escape 를 사용하면 GDI 를 통해 직접 사용할 수 없는 특수 장치에 액세스할 수 있는 기능을 적용할 수 있습니다. 또한 Windows 이스케이프 함수에 액세스할 수 있습니다. 애플리케이션 호출에 대한 Escape 호출은 번역을 통해 디바이스 드라이버로 전달됩니다.
DrawEscape 는 GDI (graphics device interface) 를 통해 직접 사용할 수 없는 비디오 모니터의 그래픽 기능에 액세스합니다
StartDoc 알림 장치 드라이버가 새 인쇄 작업 시작
StartPage 알림 장치 드라이버 시작 새 페이지
EndPage 알림 장치 드라이버 페이지 끝
SetAbortProc 인쇄 작업을 종료해야 하는 경우 Windows 에서 호출하는 프로그래머가 제공하는 롤백 함수 설정
AbortDoc 는 현재 인쇄 세션을 종료하고 StartDoc 구성원 함수를 마지막으로 호출한 이후 쓰기 장치를 적용한 모든 내용을 지웁니다
EndDoc 는 StartDoc 멤버 함수에 의해 시작된 인쇄 작업 종료
스크롤 함수 ScrollDC 수평 및 수직 스크롤 비트 직사각형
메타 파일 함수 PlayMetaFile 은 지정된 장치에서 지정된 메타 파일 유형을 재생합니다. 향상된 버전의 PlayMetaFile 은 향상된 형식의 메타 파일로 저장된 그림을 표시합니다.
메타파일은 원하는 횟수만큼 재생할 수 있습니다
AddMetaFileComment 버퍼에서 지정된 고급 형식 메타 파일로 주석 복사
경로 함수 AbortPath 디바이스 컨텍스트의 모든 경로 종료 및 거부
BeginPath 는 디바이스 컨텍스트에서 경로 괄호
를 엽니다CloseFigure 종료 경로에서 열린 차트
EndPath 는 경로 괄호를 닫고 괄호 정의 경로를 디바이스 컨텍스트
로 선택합니다FillPath 는 현재 경로에서 열려 있는 모든 차트를 닫고 경로 내부를 현재 브러시 및 다각형 채우기 모드로 채웁니다
FlattenPath 변형 현재 장치 컨텍스트 경로에 있는 임의의 곡선을 선택하여 곡선을 일련의 선
으로 변경합니다GetMiterLimit 는 디바이스 컨텍스트에 대한 제한 사항
을 반환합니다GetPath 는 선택에서 장치 컨텍스트 경로까지 선 끝점과 곡선 제어점을 정의하는 좌표를 가져옵니다
SelectClipPath 는 장치 컨텍스트에 대한 현재 경로를 자르기 영역으로 선택하고 지정된 모드를 사용하여 새 영역을 기존 자르기 영역과 병합합니다
SetMiterLimit 디바이스가 디바이스 컨텍스트에 사용하는 접속 길이 제한
StrokeAndFillPath 는 경로에서 열려 있는 모든 차트를 닫고 현재 펜 포인트 경로 외부 선으로 내부
를 현재 브러시로 채웁니다StrokePath 는 현재 펜을 사용하여 지정된 경로를 표시합니다
WidenPath 경로가 장치 컨텍스트에 현재 선택된 펜 점을 사용하는 경우 현재 경로를 그릴 영역으로 재정의