CDC 클래스

MFC 2019. 3. 18. 09:53 Posted by 쫀다



CDC 클래스

디바이스 컨텍스트 개체의 클래스를 정의합니다.

구문

class CDC : public CObject

멤버

Public 생성자

이름설명
CDC::CDCCDC 개체를 생성합니다.

Public 메서드

이름설명
CDC::AbortDoc응용 프로그램의 마지막 호출 이후 장치에 기록에 모든 항목을 지우고 현재 인쇄 작업을 종료 합니다 StartDoc 멤버 함수입니다.
CDC::AbortPath페이지를 닫고 장치 컨텍스트에서 모든 경로 삭제 합니다.
CDC::AddMetaFileComment버퍼에서 지정 된 확장 형식 메타 파일에 주석을 복사합니다.
CDC::AlphaBlend투명 하거나 반투명 픽셀로 있는 비트맵을 표시 합니다.
CDC::AngleArc선 세그먼트와 원호, 그리고 호의 끝 지점에 현재 위치를 이동 합니다.
CDC::Arc타원형 호를 그립니다.
CDC::ArcTo타원형 호를 그립니다. 이 함수는 Arc한다는 점을 제외 하는 현재 위치 업데이트 됩니다.
CDC::Attach이 Windows 장치 컨텍스트에 연결 CDC 개체입니다.
CDC::BeginPath장치 컨텍스트에서 경로 대괄호를 엽니다.
CDC::BitBlt지정 된 장치 컨텍스트에서 비트맵을 복사 합니다.
CDC::ChordChord (타원, 선 세그먼트의 교집합에 의해 경계가 지정 된 닫힌된 그림)을 그립니다.
CDC::CloseFigure경로에서 열린 형상을 닫습니다.
CDC::CreateCompatibleDC다른 장치 컨텍스트를 사용 하 여 호환 되는 메모리 장치 컨텍스트를 만듭니다. 메모리에 이미지를 준비 하 고 사용할 수 있습니다.
CDC::CreateDC특정 장치에 대 한 장치 컨텍스트를 만듭니다.
CDC::CreateIC특정 장치에 대 한 내용은 컨텍스트를 만듭니다. 장치 컨텍스트를 만들지 않고 장치에 대 한 정보를 가져오기 하는 빠른 방법을 제공 합니다.
CDC::DeleteDC이 연결 되는 Windows 장치 컨텍스트를 삭제 합니다. CDC 개체입니다.
CDC::DeleteTempMap호출한 합니다 CWinApp 임시를 삭제 하는 유휴 시간 처리기 CDC 하 여 만든 개체 FromHandle합니다.또한 장치 컨텍스트를 분리합니다.
CDC::DetachWindows 장치 컨텍스트를 분리 CDC 개체입니다.
CDC::DPtoHIMETRIC장치 단위를 HIMETRIC 단위로 변환합니다.
CDC::DPtoLP장치 단위를 논리 단위로 변환합니다.
CDC::Draw3dRect3 차원 사각형을 그립니다.
CDC::DrawDragRect삭제 하 고 끌어 올 때 사각형을 다시 그립니다.
CDC::DrawEdge사각형의 가장자리를 그립니다.
CDC::DrawEscape그리기는 GDI (그래픽 장치 인터페이스)를 통해 직접 사용할 수 없는 비디오 디스플레이의 기능에 액세스 합니다.
CDC::DrawFocusRect포커스를 나타내기 위해 사용 되는 스타일에 사각형을 그립니다.
CDC::DrawFrameControlFrame 컨트롤을 그립니다.
CDC::DrawIcon아이콘을 그립니다.
CDC::DrawState이미지를 표시 하 고는 상태를 나타내는 시각 효과 적용 합니다.
CDC::DrawText지정 된 사각형에서에서 텍스트를 포맷 하는 그립니다.
CDC::DrawTextEx그립니다 형식이 추가 형식을 사용 하 여 지정 된 사각형에서에서 텍스트를 지정 합니다.
CDC::Ellipse타원을 그립니다.
CDC::EndDoc시작 하 여 인쇄 작업을 종료 합니다 StartDoc 멤버 함수입니다.
CDC::EndPage페이지가 종료 되는 장치 드라이버를 알립니다.
CDC::EndPath경로 대괄호를 닫고 장치 컨텍스트로 대괄호 정의한 경로 선택 합니다.
CDC::EnumObjects펜을 열거 하 고 브러시 장치 컨텍스트에서 사용할 수 있습니다.
CDC::Escape응용 프로그램을을 GDI 통해 특정 장치에서 직접 사용할 수 없는 기능에 액세스할 수 있습니다. 또한 Windows 이스케이프 함수에 액세스할 수 있습니다. 응용 프로그램에서 호출 하는 이스케이프 변환 하 고 장치 드라이버에 전송 됩니다.
CDC::ExcludeClipRect지정된 된 사각형에서 뺀 기존 클리핑 영역으로 구성 된 새 클리핑 영역을 만듭니다.
CDC::ExcludeUpdateRgn클리핑 영역에서 창의 업데이트 영역을 제외 하 여 잘못 된 창 영역 내에서 그리기를 방지 합니다.
CDC::ExtFloodFill현재 브러시를 사용 하 여 영역을 채웁니다. 보다 더 많은 유연성을 제공 합니다 CDC::FloodFill 멤버 함수입니다.
CDC::ExtTextOut현재 선택된 된 글꼴을 사용 하 여 사각형 영역 내의 문자열을 씁니다.
CDC::FillPath현재 경로에 모든 열린 그림 닫히고 현재 브러시 및 다각형 채우기 모드를 사용 하 여 경로의 내부를 채웁니다.
CDC::FillRect특정 브러시를 사용 하 여 지정 된 사각형을 채웁니다.
CDC::FillRgn지정 된 브러시를 사용 하 여 특정 영역을 채웁니다.
CDC::FillSolidRect단색으로 사각형을 채웁니다.
CDC::FlattenPath현재 장치 컨텍스트로 선택 경로에 모든 곡선을 변환 하 고 각 곡선 줄의 시퀀스로 변환 합니다.
CDC::FloodFill현재 브러시를 사용 하 여 영역을 채웁니다.
CDC::FrameRect사각형 주위에 테두리를 그립니다.
CDC::FrameRgn브러시를 사용 하 여 특정 영역 주위에 테두리를 그립니다.
CDC::FromHandle에 대 한 포인터를 반환 합니다.는 CDC 장치 컨텍스트에 대 한 핸들을 지정 하는 경우 개체입니다. CDC 개체가 핸들에 연결되지 않은 경우 임시 CDC 개체를 만들어 연결합니다.
CDC::GetArcDirection장치 컨텍스트에 대 한 현재 호 방향을 반환합니다.
CDC::GetAspectRatioFilter현재 가로 세로 비율 필터에 대 한 설정을 검색합니다.
CDC::GetBkColor현재 배경색을 검색합니다.
CDC::GetBkMode백그라운드 모드를 검색합니다.
CDC::GetBoundsRect지정 된 장치 컨텍스트에 대 한 현재 누적 된 경계 사각형을 반환합니다.
CDC::GetBrushOrg현재 브러시의 원점을 검색합니다.
CDC::GetCharABCWidths논리 단위를 현재 글꼴에서 지정된 된 범위에서 연속 된 문자 너비를 검색합니다.
CDC::GetCharABCWidthsI논리 단위에서 현재 트루타입 글꼴을 지정된 된 범위에 연속 된 문자 모양 인덱스에 너비를 검색합니다.
CDC::GetCharacterPlacement다양 한 유형의 문자열에 대 한 정보를 검색합니다.
CDC::GetCharWidth현재 글꼴에서 지정된 된 범위에서 연속 된 문자 너비를 소수 자릿수를 검색합니다.
CDC::GetCharWidthI현재 글꼴에서 지정된 된 범위에 연속 된 문자 모양 인덱스의 논리적 좌표에서 너비를 검색합니다.
CDC::GetClipBox현재 클리핑 경계 주위 tightest 경계 사각형의 크기를 검색합니다.
CDC::GetColorAdjustment장치 컨텍스트에 대 한 색 조정 값을 검색합니다.
CDC::GetCurrentBitmap현재 선택에 대 한 포인터를 반환 CBitmap 개체입니다.
CDC::GetCurrentBrush현재 선택에 대 한 포인터를 반환 CBrush 개체입니다.
CDC::GetCurrentFont현재 선택에 대 한 포인터를 반환 CFont 개체입니다.
CDC::GetCurrentPalette현재 선택에 대 한 포인터를 반환 CPalette 개체입니다.
CDC::GetCurrentPen현재 선택에 대 한 포인터를 반환 CPen 개체입니다.
CDC::GetCurrentPosition논리적 좌표로 나타낸 펜의 현재 위치를 검색합니다.
CDC::GetDCBrushColor현재 브러시 색을 검색합니다.
CDC::GetDCPenColor현재 펜 색을 검색합니다.
CDC::GetDeviceCaps지정 된 유형의 특정된 디스플레이 장치의 기능에 대 한 장치 특정 정보를 검색합니다.
CDC::GetFontData확장 가능한 글꼴 파일에서 글꼴 메트릭 정보를 검색합니다. 검색할 정보를 반환할 정보의 길이 글꼴 파일에 오프셋을 지정 하 여 식별 됩니다.
CDC::GetFontLanguageInfo지정 된 표시 컨텍스트에 대 한 현재 선택된 된 글꼴에 대 한 정보를 반환합니다.
CDC::GetGlyphOutline개요 곡선 또는 현재 글꼴에는 윤곽선 문자에 대 한 비트맵을 검색합니다.
CDC::GetGraphicsMode지정 된 장치 컨텍스트에 대 한 현재 그래픽 모드를 검색합니다.
CDC::GetHalftoneBrush하프톤 브러시를 검색합니다.
CDC::GetKerningPairs지정 된 디바이스 컨텍스트에서 현재 선택 된 글꼴에 대 한 쌍 커닝 문자를 검색 합니다.
CDC::GetLayout장치 컨텍스트 (DC)의 레이아웃을 검색합니다. 오른쪽 (기본값) 또는 오른쪽에서 왼쪽 레이아웃 하거나 유지할 수 있습니다 (미러링 됨).
CDC::GetMapMode현재 매핑 모드를 검색합니다.
CDC::GetMiterLimit장치 컨텍스트에 대 한 마이터 한계를 반환합니다.
CDC::GetNearestColor지정된 된 장치를 나타낼 수 있는 지정 된 논리 색 논리 가장 가까운 색을 검색 합니다.
CDC::GetOutlineTextMetrics트루타입 글꼴에 대 한 글꼴 메트릭 정보를 검색합니다.
CDC::GetOutputCharWidth출력 장치 컨텍스트를 사용 하 여 현재 글꼴에서 문자의 연속 된 그룹의 개별 문자 너비를 검색 합니다.
CDC::GetOutputTabbedTextExtent너비와 문자열 출력 장치 컨텍스트에서 높이 계산합니다.
CDC::GetOutputTextExtent현재 글꼴을 사용 하 여 크기를 확인 하는 출력 장치 컨텍스트에서 텍스트 줄의 높이 너비를 계산 합니다.
CDC::GetOutputTextMetrics출력 장치 컨텍스트에서 현재 글꼴에 대 한 메트릭을 검색합니다.
CDC::GetPath선의 끝점 및 장치 컨텍스트로 선택 된 경로에서 발견 되는 곡선의 제어점을 정의 하는 좌표를 검색 합니다.
CDC::GetPixel지정된 된 지점에 있는 픽셀의 RGB 색 값을 검색합니다.
CDC::GetPolyFillMode현재 다각형 채우기 모드를 검색합니다.
CDC::GetROP2현재 그리기 모드를 검색합니다.
CDC::GetSafeHdc반환 CDC::m_hDC, 출력 장치 컨텍스트.
CDC::GetStretchBltMode현재 비트맵 늘이기 모드를 검색 합니다.
CDC::GetTabbedTextExtent너비 및 높이 특성 장치 컨텍스트에 따라 문자열을 계산합니다.
CDC::GetTextAlign텍스트 맞춤 플래그를 검색 합니다.
CDC::GetTextCharacterExtraIntercharacter 간격 동안 현재 설정을 검색합니다.
CDC::GetTextColor현재 텍스트 색을 검색합니다.
CDC::GetTextExtent현재 글꼴을 사용 하 여 크기를 확인 하는 특성 장치 컨텍스트에서 텍스트 줄의 높이 너비를 계산 합니다.
CDC::GetTextExtentExPointI지정 된 공간에 맞춰 각 해당 문자에 대 한 텍스트 범위를 사용 하 여 배열을 채운 지정된 된 문자열의 문자 수를 검색 합니다.
CDC::GetTextExtentPointI너비와 높이 지정 된 배열의 문자 모양 인덱스를 검색합니다.
CDC::GetTextFace버퍼에 현재 글꼴의 서체 이름을 null로 끝나는 문자열에 복사합니다.
CDC::GetTextMetrics특성 장치 컨텍스트에서 현재 글꼴에 대 한 메트릭을 검색합니다.
CDC::GetViewportExt뷰포트의 x 및 y 익스텐트를 검색합니다.
CDC::GetViewportOrg뷰포트 원점의 x 좌표 및 y 좌표를 검색합니다.
CDC::GetWindow디스플레이 장치 컨텍스트를 사용 하 여 관련 된 창을 반환 합니다.
CDC::GetWindowExt연결 된 창의 x 및 y 익스텐트를 검색합니다.
CDC::GetWindowOrg연결 창의 원점의 x 및 y 좌표를 검색합니다.
CDC::GetWorldTransform페이지 공간 변환 현재 세계 좌표 공간을 검색합니다.
CDC::GradientFill사각형 및 삼각형 구조 gradating 색으로 채웁니다.
CDC::GrayString그립니다의 지정 된 위치 (회색으로 표시) 텍스트를 흐리게 표시 합니다.
CDC::HIMETRICtoDP장치 단위를 HIMETRIC 단위를 변환합니다.
CDC::HIMETRICtoLP논리 단위를 HIMETRIC 단위를 변환합니다.
CDC::IntersectClipRect현재 지역 및 사각형의 교차 부분을 형성 하 여 새 클리핑 영역을 만듭니다.
CDC::InvertRect사각형의 내용을 반전합니다.
CDC::InvertRgn지역의 색을 반전합니다.
CDC::IsPrinting인쇄 장치 컨텍스트에 사용 되 고 있는지 여부를 결정 합니다.
CDC::LineTo현재 위치 까지의 등을 제외한 지점에서 줄을 그립니다.
CDC::LPtoDP장치 단위에 논리 단위를 변환합니다.
CDC::LPtoHIMETRIC논리 단위를 HIMETRIC 단위로 변환합니다.
CDC::MaskBlt지정 된 마스크와 래스터 연산을 사용 하 여 원본 및 대상 비트맵에 대 한 색 데이터를 결합 합니다.
CDC::ModifyWorldTransform월드 변형이 지정된 된 모드를 사용 하 여 장치 컨텍스트에 대 한 변경 합니다.
CDC::MoveTo현재 위치를 이동 합니다.
CDC::OffsetClipRgn지정된 된 장치의 클립 영역을 이동합니다.
CDC::OffsetViewportOrg현재 뷰포트 원본 좌표를 기준으로 뷰포트 출처를 수정합니다.
CDC::OffsetWindowOrg현재 창 원본 좌표를 기준으로 창을 원본을 수정합니다.
CDC::PaintRgn선택된 된 브러시를 사용 하 여 영역을 채웁니다.
CDC::PatBlt비트 패턴을 만듭니다.
CDC::Pie원형 쐐기형을 그립니다.
CDC::PlayMetaFile지정 된 장치에서 지정 된 메타 파일의 콘텐츠를 재생합니다. 향상된 된 버전의 PlayMetaFile 지정된 확장 형식 메타 파일에 저장 된 그림을 표시 합니다. 메타 파일에는 임의의 횟수 만큼을 재생할 수 있습니다.
CDC::PlgBlt원본 장치 컨텍스트에서 지정된 된 사각형에서 지정 된 디바이스 컨텍스트에서 지정 된 평행 사변형으로 색 데이터 비트의 비트 블록 전송을 수행합니다.
CDC::PolyBezier하나 이상의 Bzier 스플라인을 그립니다. 현재 위치에 사용 되는 지도 업데이트.
CDC::PolyBezierTo하나 이상의 Bzier 스플라인 그리고 마지막 Bzier 스플라인의 끝점을 현재 위치를 이동 합니다.
CDC::PolyDraw선 세그먼트 집합과 Bzier 스플라인을 그립니다. 이 함수는 현재 위치를 업데이트합니다.
CDC::Polygon두 개 이상 (꼭 짓 점) 연결 된 점 선으로 구성 된 다각형을 그립니다.
CDC::Polyline집합이 지정된 된 요소를 연결 하는 선 세그먼트를 그립니다.
CDC::PolylineTo하나 이상의 직선을 그립니다 하 고 마지막 줄의 끝 지점에 현재 위치를 이동 합니다.
CDC::PolyPolygon현재 다각형 채우기 모드를 사용 하 여 입력 된 두 개 이상의 다각형을 만듭니다. 다각형 비연속 되었거나 겹칠 수 있습니다.
CDC::PolyPolyline여러 일련의 연결 된 선 세그먼트를 그립니다. 현재 위치 사용 아니고이 함수에 의해 업데이트 됩니다.
CDC::PtVisible클리핑 영역 내에서 지정된 된 점을 인지 여부를 지정 합니다.
CDC::RealizePalette현재 논리 팔레트에 색상표 항목 시스템 색상표에 매핑됩니다.
CDC::Rectangle현재 펜을 사용 하 여 사각형을 그린를 현재 브러시를 사용 하 여 채웁니다.
CDC::RectVisible지정된 된 사각형의 일부 클리핑 영역 내에 있는지 여부를 확인 합니다.
CDC::ReleaseAttribDC릴리스 m_hAttribDC, 특성 장치 컨텍스트.
CDC::ReleaseOutputDC릴리스 m_hDC, 출력 장치 컨텍스트.
CDC::ResetDC업데이트 된 m_hAttribDC 장치 컨텍스트.
CDC::RestoreDC장치 컨텍스트를 사용 하 여 저장 된 이전 상태로 복원 SaveDC합니다.
CDC::RoundRect현재 펜을 사용 하 여 채워지고 현재 브러시를 사용 하 여 모서리가 둥근 사각형을 그립니다.
CDC::SaveDC장치 컨텍스트의 현재 상태를 저장 합니다.
CDC::ScaleViewportExt현재 값을 기준으로 뷰포트 범위를 수정합니다.
CDC::ScaleWindowExt현재 값을 기준으로 창 범위를 수정합니다.
CDC::ScrollDC가로 및 세로로 비트의 사각형을 스크롤합니다.
CDC::SelectClipPath지정된 된 모드를 사용 하 여 모든 기존 클리핑 영역을 사용 하 여 새 지역 결합 된 장치 컨텍스트에 대 한 클리핑 영역으로 현재 경로 선택 합니다.
CDC::SelectClipRgn지정된 된 모드를 사용 하 여 현재 클립 영역과 지정된 된 영역을 결합 합니다.
CDC::SelectObject펜 같은 GDI 그리기 개체를 선택합니다.
CDC::SelectPalette논리 색상표를 선택합니다.
CDC::SelectStockObject미리 정의 된 스톡 펜, 브러시, 또는 Windows에서 제공 하는 글꼴 중 하나를 선택 합니다.
CDC::SetAbortProcWindows 인쇄 작업을 중단 해야 하는 경우 호출 하는 프로그래머가 제공한 콜백 함수를 설정 합니다.
CDC::SetArcDirection호 및 사각형 함수에 사용 되는 그리기 방향을 설정 합니다.
CDC::SetAttribDC집합 m_hAttribDC, 특성 장치 컨텍스트.
CDC::SetBkColor현재 배경색을 설정 합니다.
CDC::SetBkMode백그라운드 모드를 설정합니다.
CDC::SetBoundsRect지정 된 장치 컨텍스트에 대 한 경계 사각형 정보 양을 제어합니다.
CDC::SetBrushOrg다음 장치 컨텍스트로 선택 된 브러시의 원점을 지정 합니다.
CDC::SetColorAdjustment지정된 된 값을 사용 하 여 장치 컨텍스트에 대 한 색 조정 값을 설정 합니다.
CDC::SetDCBrushColor현재 브러시 색을 설정합니다.
CDC::SetDCPenColor현재 펜 색을 설정합니다.
CDC::SetGraphicsMode지정 된 장치 컨텍스트에 대 한 현재 그래픽 모드를 설정합니다.
CDC::SetLayout장치 컨텍스트 (DC)의 레이아웃을 변경합니다.
CDC::SetMapMode현재 매핑 모드를 설정합니다.
CDC::SetMapperFlags실제 글꼴 논리 글꼴 매핑될 때 글꼴 매퍼를 사용 하는 알고리즘을 변경 합니다.
CDC::SetMiterLimit장치 컨텍스트에 대 한 마이터 조인의 길이 대 한 제한을 설정합니다.
CDC::SetOutputDC집합 m_hDC, 출력 장치 컨텍스트.
CDC::SetPixel지정된 된 색의 가장 가까운 근사치를 지정된 된 지점에 픽셀을 설정합니다.
CDC::SetPixelV지정된 된 색의 가장 가까운 근사치를 지정된 된 좌표에서 픽셀을 설정합니다. SetPixelV 보다 더 빠릅니다 SetPixel 실제로 그릴 지점의 색 값을 반환 하지 않아도 되기 때문입니다.
CDC::SetPolyFillMode다각형 채우기 모드를 설정합니다.
CDC::SetROP2현재 그리기 모드를 설정합니다.
CDC::SetStretchBltMode비트맵 확장 모드를 설정합니다.
CDC::SetTextAlign텍스트 맞춤 플래그를 설정합니다.
CDC::SetTextCharacterExtraIntercharacter 간격을 설정합니다.
CDC::SetTextColor텍스트 색을 설정합니다.
CDC::SetTextJustificationBreak 문자 문자열에 공백을 추가합니다.
CDC::SetViewportExt뷰포트의 x 및 y 익스텐트를 설정합니다.
CDC::SetViewportOrg뷰포트 원점을 설정합니다.
CDC::SetWindowExt연결 된 창의 x 및 y 익스텐트를 설정합니다.
CDC::SetWindowOrg장치 컨텍스트의 창 원점을 설정합니다.
CDC::SetWorldTransform페이지 공간 변환 현재 세계 좌표 공간을 설정합니다.
CDC::StartDoc새 인쇄 작업을 시작 하는 장치 드라이버를 알립니다.
CDC::StartPage새 페이지를 시작 하는 장치 드라이버를 알립니다.
CDC::StretchBlt소스 사각형 및 장치에서 비트맵을 대상 사각형의 크기에 맞게 필요한 경우 비트맵을 늘이거나 대상 사각형으로 이동 합니다.
CDC::StrokeAndFillPath경로에 모든 열린 그림을 닫고 현재 펜을 사용 하 여 경로의 윤곽선 발생 현재 브러시를 사용 하 여 해당 내부를 채웁니다.
CDC::StrokePath현재 펜을 사용 하 여 지정된 된 경로 렌더링 합니다.
CDC::TabbedTextOut지정 된 위치에 탭 정지 위치 배열을 지정 된 값을 확장 하는 탭 문자 문자열을 씁니다.
CDC::TextOut현재 선택된 된 글꼴을 사용 하 여 지정된 된 위치에 문자열을 씁니다.
CDC::TransparentBlt지정한 색을 전송에 투명 하 게 렌더링 대상 장치 컨텍스트를 사용 하는 작업에 지정 된 소스 장치 컨텍스트에서 색 데이터 비트 블록을 전송 합니다.
CDC::UpdateColors클라이언트 영역을 픽셀 단위로 별로 시스템 색상표에서 현재 비교 하 여 장치 컨텍스트의 클라이언트 영역 색이 업데이트 됩니다.
CDC::WidenPath현재 장치 컨텍스트로 선택 펜을 사용 하 여 경로 된 스트로크 그릴 영역으로 현재 경로 재정의 합니다.

Public 연산자

이름설명
CDC::operator HDC장치 컨텍스트의 핸들을 검색 합니다.

공용 데이터 멤버

이름설명
CDC::m_hAttribDC사용 하는 특성 장치 컨텍스트 CDC 개체입니다.
CDC::m_hDC사용 하는 출력 장치 컨텍스트 CDC 개체입니다.

설명

CDC 개체는 장치 컨텍스트에 디스플레이 또는 프린터와 같은 멤버를 사용 하 여 창의 클라이언트 영역에 연결 된 디스플레이 컨텍스트를 사용 하 여 작업에 대 한 작업에 대 한 멤버 함수를 제공 합니다.

함수는 멤버를 통해 모든 그리기를 수행는 CDC 개체입니다. 클래스 그리기 도구를 형식이 안전한 그래픽 장치 인터페이스 (GDI) 개체 선택 하 고 색 및 색상표를 사용 하 여 작업을 사용 하 고 장치 컨텍스트 작업에 대 한 멤버 함수를 제공 합니다. 또한 가져오고 그리기 특성, 매핑, 좌표 변환, 지역, 클리핑, 그리기 선 및 단순 도형 그리기, 타원, 작업 창 범위 내에서 사용 된 뷰포트를 사용 하는 설정에 대 한 멤버 함수를 제공 하 고 다각형입니다. 멤버 함수는 텍스트 그리기, 글꼴을 사용 하 여 작업, 프린터 이스케이프를 사용 하 여, 스크롤 및 메타 파일을 재생에 대 한도 제공 됩니다.

사용 하는 CDC 개체를 생성 하 고, 해당 멤버를 병렬화 하는 장치 컨텍스트를 사용 하는 Windows 함수는 함수 호출 하 합니다.

 참고

Windows 95/98, 모든 화면 좌표 16 비트로 제한 됩니다. 따라서는 int 에 전달 되는 CDC 멤버 함수는-32768에서 32767 범위 내에서에 있어야 합니다.

Microsoft Foundation Class 라이브러리를 특정 용도로 파생 된 여러 클래스를 제공 CDC 합니다. CPaintDC 에 대 한 호출을 캡슐화 BeginPaint 고 EndPaint입니다. CClientDC 창의 클라이언트 영역에 연결 된 디스플레이 컨텍스트를 관리 합니다. CWindowDC 연결 된 컨트롤과 프레임을 포함 한 전체 창이 디스플레이 컨텍스트를 관리 합니다. CMetaFileDC 메타 파일 장치 컨텍스트를 연결합니다.

CDC 두 멤버 함수를 제공 GetLayout 하 고 SetLayout, 창에서 해당 레이아웃을 상속 하지 않는 장치 컨텍스트 레이아웃을 반대로 바꾸는 대 한 합니다. 이러한 오른쪽에서 왼쪽 방향 아랍어 또는 히브리어 문자 레이아웃 되지 유럽 표준 위치와 같은 문화권 용으로 작성 된 응용 프로그램에 필요한입니다.

CDC 두 개의 장치 컨텍스트를 포함 m_hDC 및 m_hAttribDC는의 생성을 CDC 개체 같은 장치를 참조 하세요. CDC 모든 출력 GDI 호출을 전달 m_hDC 를 호출 하는 대부분의 특성 GDI 및 m_hAttribDC합니다. (특성 호출의 예로 GetTextColor, 하는 동안 SetTextColor출력 호출입니다.)

프레임 워크를 구현 하기 위해 이러한 두 장치 컨텍스트를 사용 하는 예를 들어, 한 CMetaFileDC 물리적 장치에서 특성을 읽는 동안 출력 메타 파일을 보낼 개체입니다. 인쇄 미리 보기는 비슷한 방식으로 프레임 워크에서 구현 됩니다. 또한 비슷한 방식으로 응용 프로그램별 코드에서 두 개의 장치 컨텍스트를 사용할 수 있습니다.

경우가 필요할 때 둘 다에서 텍스트 메트릭 정보를 m_hDC 고 m_hAttribDC 장치 컨텍스트. 다음 함수 쌍은이 기능을 제공합니다.

에 대 한 자세한 CDC를 참조 하세요 장치 컨텍스트합니다.

상속 계층

CObject

CDC

요구 사항

헤더: afxwin.h

CDC::AbortDoc

현재 인쇄 작업을 종료 하 고 응용 프로그램에 대 한 마지막 호출 이후 장치에 기록에 모든를 삭제 합니다 StartDoc 멤버 함수입니다.

int AbortDoc();

반환 값

성공 하면 0 보다 크거나 같은 값 또는 오류가 발생 하는 경우 음수 값입니다. 다음은 일반적인 오류 값과 해당 의미를 보여 줍니다.

  • SP_ERROR 일반 오류입니다.

  • SP_OUTOFDISK 없습니다 스풀링에 대 한 현재 사용 가능한 디스크 공간이 충분 하 고 공간이 더 이상 없습니다를 사용할 수 있게 됩니다.

  • SP_OUTOFMEMORY 없습니다 스풀링을 위해 사용 가능한 메모리가 부족 합니다.

  • SP_USERABORT 사용자 인쇄 관리자를 통해 작업을 종료 합니다.

설명

이 멤버 함수는 ABORTDOC 프린터 이스케이프를 대체합니다.

AbortDoc 사용 하는 다음 종료 되어야 합니다.

  • 사용 하 여 중단 함수를 지정 하지 않는 인쇄 작업 SetAbortProc합니다.

  • 아직 해당 첫 번째 NEWFRAME 또는 NEXTBAND는 인쇄 작업 호출을 이스케이프 합니다.

응용 프로그램에 인쇄 오류 또는 취소 된 인쇄 작업을 발견 하면, 해당 시도 하지 않아야 중 하나를 사용 하 여 작업을 종료 합니다 EndDoc 하거나 AbortDoc 클래스의 멤버 함수 CDC합니다. GDI는 자동으로 오류 값을 반환 하기 전에 작업을 종료 합니다.

응용 프로그램 사용자가 인쇄 작업을 취소 하도록 허용 하는 대화 상자를 표시 하는 경우 호출 해야 AbortDoc 대화 상자를 제거 하기 전에 합니다.

인쇄 관리자 인쇄 작업을 시작 하려면 사용 된 경우 호출 AbortDoc 전체 스풀 작업 지웁니다-프린터 수신 아무 작업도 수행 합니다. 인쇄 관리자 인쇄 작업을 시작 하려면을 사용 하지 않은 경우 데이터 수 보낸 전에 프린터로 AbortDoc 호출 되었습니다. 이 경우 프린터 드라이버 (가능한 경우) 프린터를 다시 설정한 것 및 인쇄 작업을 종료 합니다.

예제

예를 참조 하세요 CDC::StartDoc합니다.

CDC::AbortPath

페이지를 닫고 장치 컨텍스트에서 모든 경로 삭제 합니다.

BOOL AbortPath();

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

장치 컨텍스트에서 열린 경로 대괄호 이면 경로 대괄호 닫히고 경로 삭제 됩니다. 장치 컨텍스트에서 닫힌된 경로 경로 삭제 됩니다.

CDC::AddMetaFileComment

버퍼에서 지정 된 확장 형식 메타 파일에 주석을 복사합니다.

BOOL AddMetaFileComment(
    UINT nDataSize,
    const BYTE* pCommentData);

매개 변수

nDataSize
주석 버퍼의 길이 바이트 단위로 지정 합니다.

pCommentData
주석을 포함 하는 버퍼를 가리킵니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

주석을 모든 개인 정보를 포함할 수-예를 들어, 그림 및 날짜의 소스 만들어진 합니다. 주석을은 데이터 뒤에 응용 프로그램 서명을 사용 하 여 시작 해야 합니다. 주석 위치 관련 데이터가 없어야 합니다. 위치-관련 데이터 레코드의 위치를 지정 하 고 안 포함 된 다른 메타 파일 내에서 하나의 메타 파일을 포함 될 수 있으므로 합니다. 이 함수는 향상 된 메타 파일 사용 수 있습니다.

CDC::AlphaBlend

투명 하거나 반투명 픽셀로 있는 비트맵을 표시 하려면이 멤버 함수를 호출 합니다.

BOOL AlphaBlend(
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    CDC* pSrcDC,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    BLENDFUNCTION blend);

매개 변수

xDest
대상 사각형의 왼쪽 위 모퉁이의 논리 단위 x 좌표를 지정합니다.

yDest
대상 사각형의 왼쪽 위 모퉁이의 논리 단위로 y 좌표를 지정합니다.

nDestWidth
대상 사각형의 논리 단위에서 너비를 지정 합니다.

nDestHeight
대상 사각형의 논리 단위에서 높이 지정합니다.

pSrcDC
소스 장치 컨텍스트에 대 한 포인터입니다.

xSrc
논리 단위를 소스 사각형의 왼쪽 위 모퉁이의 x 좌표를 지정합니다.

ySrc
논리 단위를 소스 사각형의 왼쪽 위 모퉁이의 y 좌표를 지정합니다.

nSrcWidth
소스 사각형의 논리 단위에서 너비를 지정 합니다.

nSrcHeight
소스 사각형의 논리 단위에서 높이 지정합니다.

blend
지정 된 BLENDFUNCTION 구조입니다.

반환 값

성공하면 TRUE이고, 실패하면 FALSE입니다.

설명

참조 해 서 AlphaBlend 자세한 내용은 Windows SDK에 있습니다.

CDC::AngleArc

선 세그먼트와 호를 그립니다.

BOOL AngleArc(
    int x,
    int y,
    int nRadius,
    float fStartAngle,
    float fSweepAngle);

매개 변수

x
원의 중심의 논리적 x 좌표를 지정합니다.

y
원의 중심의 논리적 y 좌표를 지정합니다.

nRadius
원의 반지름을 논리 단위로 지정합니다. 이 값은 양수 여야 합니다.

fStartAngle
시작 각도 x 축 기준으로 단위로 지정합니다.

fSweepAngle
시작 각도 기준으로 스윕 각도 지정합니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

직선 세그먼트의 현재 위치에서 호의 시작 부분에 그려집니다. 지정 된 반경 및 센터를 사용 하 여 원의 경계를 따라 호를 그립니다. 지정된 된 시작 및 스윕 각도 호의 길이 정의 됩니다.

AngleArc 원호의 끝점의 현재 위치를 이동합니다. 이 함수에 의해 원호의 현재 변환 및 매핑 모드에 따라 타원형 되도록 나타날 수 있습니다. 호를 그리기 전에이 함수는 현재 위치에서 선 세그먼트를 부채꼴의 시작 부분에 그립니다. 지정 된 중심점 지정된 radius 사용 하는 허수 원을 생성 하 여 호의 그려집니다. 원호의 시작점 시작 각도의 개수로 원의 x 축에서 시계 반대 방향으로 측정 하 여 결정 됩니다. 스윕 각도 만큼 시작 지점에서 시계 반대 방향으로 측정 하 여 마찬가지로 끝점 위치한 수 있습니다.

스윕 각도가 360도 보다 큰 경우 호의 여러 번 이루어집니다. 이 함수는 현재 펜을 사용 하 여 줄을 그립니다. 그림 채워지지 않습니다.

CDC::Arc

타원형 호를 그립니다.

BOOL Arc(
    int x1,
    int y1,
    int x2,
    int y2,
    int x3,
    int y3,
    int x4,
    int y4);

BOOL Arc(
    LPCRECT lpRect,
    POINT ptStart,
    POINT ptEnd);

매개 변수

x1
(논리 단위)의 경계 사각형의 왼쪽 위 모퉁이의 x 좌표를 지정합니다.

y1
(논리 단위)의 경계 사각형의 왼쪽 위 모퉁이의 y 좌표를 지정합니다.

x2
(논리 단위)의 경계 사각형의 오른쪽 아래 모퉁이의 x 좌표를 지정합니다.

y2
(논리 단위)의 경계 사각형의 오른쪽 아래 모퉁이의 y 좌표를 지정합니다.

x3
호를 정의 하는 지점의 x 좌표 (논리 단위)에서 시작점의 지정 합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다.

y3
호를 정의 하는 지점의 y 좌표 (논리 단위)에서 시작점의 지정 합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다.

x4
원호의 끝점 (논리 단위)를 정의 하는 지점의 x 좌표를 지정 합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다.

y4
원호의 끝점 (논리 단위)를 정의 하는 지점의 y 좌표를 지정 합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다.

lpRect
(논리 단위)의 경계 사각형을 지정 합니다. 중 하나는 LPRECT를 전달할 수 있습니다 또는 CRect 이 매개 변수에 대 한 개체입니다.

ptStart
호를 정의 하는 지점의 x 및 y 좌표 (논리 단위)에서 시작점의 지정 합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다. 전달할 수 있습니다는 지점 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

ptEnd
호의 끝 지점 (논리 단위)를 정의 하는 지점의 x 및 y 좌표를 지정 합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다. 전달할 수 있습니다는 POINT 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

함수를 사용 하 여 그린 호는 지정 된 경계 사각형에 의해 정의 되는 타원의 세그먼트입니다.

원호의 시작점 실제는 지정 된 시작점부터 경계 사각형의 가운데에서 그린 광선이 타원 교차 하는 지점입니다. 원호의 실제 끝점에는 지정 된 끝점을 통해 경계 사각형의 가운데에서 그린 광선이 교차 타원 지점이입니다. 호가 시계 반대 방향으로 그려집니다. 호를 폐쇄형된 도형 아니므로 채워지지 않습니다. 사각형의 높이 너비 보다 작거나 32,767 단위 2 개 단위 보다 커야 합니다.

예제

C++
void CDCView::DrawArc(CDC* pDC)
{
   // Fill the client area with a thin circle. The circle's
   // interior is not filled. The circle's perimeter is
   // blue from 6 o'clock to 3 o'clock and red from 3
   // o'clock to 6 o'clock.

   // Get the client area.
   CRect rectClient;
   GetClientRect(rectClient);

   // Make a couple of pens.
   CPen penBlue;
   CPen penRed;
   CPen* pOldPen;

   penBlue.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(0, 0, 255));
   penRed.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(255, 0, 0));

   // Draw from 3 o'clock to 6 o'clock, counterclockwise,
   // in a blue pen.

   pOldPen = pDC->SelectObject(&penBlue);

   pDC->Arc(rectClient,
      CPoint(rectClient.right, rectClient.CenterPoint().y),
      CPoint(rectClient.CenterPoint().x, rectClient.right));

   // Draw from 6 o'clock to 3 o'clock, counterclockwise,
   // in a red pen.
   pDC->SelectObject(&penRed);

   // Keep the same parameters, but reverse start
   // and end points.
   pDC->Arc(rectClient,
      CPoint(rectClient.CenterPoint().x, rectClient.right),
      CPoint(rectClient.right, rectClient.CenterPoint().y));

   // Restore the previous pen.
   pDC->SelectObject(pOldPen);
}

CDC::ArcTo

타원형 호를 그립니다.

BOOL ArcTo(
    int x1,
    int y1,
    int x2,
    int y2,
    int x3,
    int y3,
    int x4,
    int y4);

BOOL ArcTo(
    LPCRECT lpRect,
    POINT ptStart,
    POINT ptEnd);

매개 변수

x1
(논리 단위)의 경계 사각형의 왼쪽 위 모퉁이의 x 좌표를 지정합니다.

y1
(논리 단위)의 경계 사각형의 왼쪽 위 모퉁이의 y 좌표를 지정합니다.

x2
(논리 단위)의 경계 사각형의 오른쪽 아래 모퉁이의 x 좌표를 지정합니다.

y2
(논리 단위)의 경계 사각형의 오른쪽 아래 모퉁이의 y 좌표를 지정합니다.

x3
호를 정의 하는 지점의 x 좌표 (논리 단위)에서 시작점의 지정 합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다.

y3
호를 정의 하는 지점의 y 좌표 (논리 단위)에서 시작점의 지정 합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다.

x4
원호의 끝점 (논리 단위)를 정의 하는 지점의 x 좌표를 지정 합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다.

y4
원호의 끝점 (논리 단위)를 정의 하는 지점의 y 좌표를 지정 합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다.

lpRect
(논리 단위)의 경계 사각형을 지정 합니다. 에 대 한 포인터를 전달할 수 있습니다는 RECT 데이터 구조 또는 CRect 이 매개 변수에 대 한 개체입니다.

ptStart
호를 정의 하는 지점의 x 및 y 좌표 (논리 단위)에서 시작점의 지정 합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다. 전달할 수 있습니다는 지점 데이터 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

ptEnd
호의 끝 지점 (논리 단위)를 정의 하는 지점의 x 및 y 좌표를 지정 합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다. 전달할 수 있습니다는 POINT 데이터 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 함수는 CDC::Arc한다는 점을 제외 하는 현재 위치 업데이트 됩니다. 요소 ( x1를 y1) 및 ( x2를 y2) 경계 사각형을 지정 합니다. 지정 된 경계 사각형에 의해 형성 된 타원 호의 곡선을 정의 합니다. 호가 시계 반대 방향으로 (기본 호 방향)에서 확장 경계 사각형의 가운데에서 방사형 선 교차 하는 지점 ( x3하십시오 y3). 경계 사각형의 가운데에서 방사형 선 교차 하 호의 끝 ( x4를 y4). 시작 지점 및 끝 지점 같으면 완전 한 타원을 그려집니다.

원호의 시작점에 현재 위치에서 선이 그려집니다. 오류가 발생 하는 경우 현재 위치 호의 끝 지점으로 설정 됩니다. 호의 현재 펜;를 사용 하 여 그려집니다. 채워지지 않습니다.

CDC::Attach

이 멤버 함수를 사용 하 여 연결할를 hDC 에 CDC 개체입니다.

BOOL Attach(HDC hDC);

매개 변수

hDC
Windows 장치 컨텍스트입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

합니다 hDC 둘 다에 저장 됩니다 m_hDC, 출력 장치 컨텍스트 및 m_hAttribDC, 특성 장치 컨텍스트.

CDC::BeginPath

장치 컨텍스트에서 경로 대괄호를 엽니다.

BOOL BeginPath();

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

경로 괄호를 연 후 응용 프로그램 경로에 있는 점이 정의 GDI 함수를 그리기 호출을 시작할 수 있습니다. 호출 하 여 응용 프로그램에 열린 경로 괄호를 닫을 수는 EndPath 멤버 함수입니다. 응용 프로그램을 호출 하면 BeginPath, 모든 이전 경로 삭제 됩니다.

참조 BeginPath 패스에서 점을 정의 하는 그리기 함수 목록에 대 한 Windows SDK에 있습니다.

예제

C++
// This implementation uses GDI paths to draw the outline of
// some text in a TrueType font. The path is used to record the way
// the TrueType font would be drawn. Then, the function uses the data
// returned from CDC::GetPath() to draw the font--without filling it.
void CDCView::DrawPath(CDC* pDC)
{
   // Describe a 24-point truetype font of normal weight
   LOGFONT lf;
   memset(&lf, 0, sizeof(lf));
   lf.lfHeight = -MulDiv(24, pDC->GetDeviceCaps(LOGPIXELSY), 72);
   lf.lfWeight = FW_NORMAL;
   lf.lfOutPrecision = OUT_TT_ONLY_PRECIS;

   // create and select it
   CFont newFont;
   if (!newFont.CreateFontIndirect(&lf))
      return;
   CFont* pOldFont = pDC->SelectObject(&newFont);

   // use a path to record how the text was drawn
   pDC->BeginPath();
   pDC->TextOut(10, 10, _T("Outline this!"));
   pDC->EndPath();

   // Find out how many points are in the path. Note that
   // for long strings or complex fonts, this number might be
   // gigantic!
   int nNumPts = pDC->GetPath(NULL, NULL, 0);
   if (nNumPts == 0)
      return;

   // Allocate memory to hold points and stroke types from
   // the path.
   LPPOINT lpPoints = NULL;
   LPBYTE lpTypes = NULL;
   try
   {
      lpPoints = new POINT[nNumPts];
      lpTypes = new BYTE[nNumPts];
   }
   catch (CException* pe)
   {
      delete [] lpPoints;
      lpPoints = NULL;
      delete [] lpTypes;
      lpTypes = NULL;
      pe->Delete();	
   }
   if (lpPoints == NULL || lpTypes == NULL)
      return;

   // Now that we have the memory, really get the path data.
   nNumPts = pDC->GetPath(lpPoints, lpTypes, nNumPts);

   // If it worked, draw the lines. Windows 98 doesn't support
   // the PolyDraw API, so we use our own member function to do
   // similar work. If you're targeting only later versions of 
   // Windows, you can use the PolyDraw() API and avoid the 
   // COutlineView::PolyDraw() member function.

   if (nNumPts != -1)
      pDC->PolyDraw(lpPoints, lpTypes, nNumPts);

   // Release the memory we used
   delete [] lpPoints;
   delete [] lpTypes;

   // Put back the old font
   pDC->SelectObject(pOldFont);

   return;
}

CDC::BitBlt

현재이 장치 컨텍스트를 원본 장치 컨텍스트에서 비트맵을 복사 합니다.

BOOL BitBlt(
    int x,
    int y,
    int nWidth,
    int nHeight,
    CDC* pSrcDC,
    int xSrc,
    int ySrc,
    DWORD dwRop);

매개 변수

x
대상 사각형의 왼쪽 위 모퉁이의 논리적 x 좌표를 지정합니다.

y
대상 사각형의 왼쪽 위 모퉁이의 논리적 y 좌표를 지정합니다.

nWidth
대상 사각형 및 소스 비트맵의 너비 (논리 단위)에 지정합니다.

nHeight
대상 사각형 및 소스 비트맵의 높이 (논리 단위)에 지정합니다.

pSrcDC
에 대 한 포인터를 CDC 비트맵을 복사할 장치 컨텍스트를 식별 하는 개체입니다. 경우 NULL 이어야 합니다 dwRop 소스를 포함 하지 않는 래스터 연산을 지정 합니다.

xSrc
소스 비트맵의 왼쪽 위 모퉁이의 논리적 x 좌표를 지정합니다.

ySrc
소스 비트맵의 왼쪽 위 모퉁이의 논리적 y 좌표를 지정합니다.

dwRop
수행할 래스터 연산을 지정합니다. 래스터 연산은 코드 GDI 현재 브러시, 가능한 소스 비트맵 및 대상 비트맵을 포함 하는 출력 연산에서 색을 결합 하는 방법을 정의 합니다. 참조 BitBlt 래스터 연산은 코드의 목록은 Windows sdk dwRop 해당 설명을 보려면

래스터 연산은 코드의 전체 목록은 참조 하세요 래스터 연산 코드에 대 한 Windows SDK에 있습니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

응용 프로그램 windows 또는 되도록 바이트 경계에서 클라이언트 영역에 맞출 수는 BitBlt 바이트 맞춤 사각형에서 작업을 수행 합니다. (창 클래스를 등록할 때 CS_BYTEALIGNWINDOW 또는 CS_BYTEALIGNCLIENT 플래그를 설정 합니다.)

BitBlt 사각형 바이트 맞춤 연산은 비해 상당히 빠르긴 BitBlt 바이트로 정렬 되지 않은 사각형에 대 한 작업입니다. 창 클래스를 등록 해야 자신의 장치 컨텍스트에 대 한 바이트 맞춤 같은 클래스 스타일을 지정 하려는 경우를 위해 Microsoft Foundation 클래스에 의존 합니다. 전역 함수를 사용 하 여 AfxRegisterWndClass합니다.

GDI 변환 nWidth 하 고 nHeight, 대상 장치 컨텍스트를 사용 하 여 한 번 및 한 번 소스 장치 컨텍스트를 사용 하 여 합니다. GDI는 Windows를 사용 하 여 결과 범위를 일치 하지 않는 경우 StretchBlt 필요에 따라 소스 비트맵을 늘이거나 압축 하는 함수입니다.

대상, 원본 및 패턴 비트맵 색 형식이 다르면 없는 경우는 BitBlt 함수는 대상에 맞게 원본 및 패턴 비트맵으로 변환 합니다. 대상 비트맵의 전경과 배경 색은 변환에서 사용 됩니다.

경우는 BitBlt 함수 변환 단색 비트맵을 색, 배경색 및 전경색을 검정색 비트 (0)을 흰색 비트 (1)으로 설정 합니다. 대상 장치 컨텍스트의 전경 및 배경 색이 사용 됩니다. 컬러를 단색, 변환할 BitBlt 배경색을 흰색으로 일치 하는 픽셀을 설정 하 고 다른 모든 픽셀을 검정으로 설정 합니다. BitBlt 단색 변환할 색에서 색 장치 컨텍스트의 전경 및 배경 색을 사용 합니다.

일부 장치 컨텍스트 지원은 BitBlt합니다. 지정 된 디바이스 컨텍스트 지 여부를 확인 하려면 BitBlt를 사용 하 여는 GetDeviceCaps 멤버 함수 및 RASTERCAPS 인덱스를 지정 합니다.

예제

예를 참조 하세요 CDC::CreateCompatibleDC합니다.

CDC::CDC

CDC 개체를 생성합니다.

CDC();

CDC::Chord

Chord (타원, 선 세그먼트의 교집합에 의해 경계가 지정 된 닫힌된 그림)을 그립니다.

BOOL Chord(
    int x1,
    int y1,
    int x2,
    int y2,
    int x3,
    int y3,
    int x4,
    int y4);

BOOL Chord(
    LPCRECT lpRect,
    POINT ptStart,
    POINT ptEnd);

매개 변수

x1
원호가의 왼쪽 위 모퉁이의 x 좌표 (논리 단위)에 사각형의 경계를 지정 합니다.

y1
원호가의 왼쪽 위 모퉁이의 y 좌표 (논리 단위)에 사각형의 경계를 지정 합니다.

x2
원호가 오른쪽 아래 모퉁이의 x 좌표 (논리 단위)에 사각형의 경계를 지정 합니다.

y2
원호가 오른쪽 아래 모퉁이의 y 좌표 (논리 단위)에 사각형의 경계를 지정 합니다.

x3
원호가 정의 하는 지점의 x 좌표 (논리 단위)에서 시작점의 지정 합니다.

y3
원호가 정의 하는 지점의 y 좌표 (논리 단위)에서 시작점의 지정 합니다.

x4
Chord의 끝점 (논리 단위)를 정의 하는 지점의 x 좌표를 지정 합니다.

y4
Chord의 끝점 (논리 단위)를 정의 하는 지점의 y 좌표를 지정 합니다.

lpRect
(논리 단위)의 경계 사각형을 지정 합니다. 중 하나는 LPRECT를 전달할 수 있습니다 또는 CRect 이 매개 변수에 대 한 개체입니다.

ptStart
원호가 정의 하는 지점의 x 및 y 좌표 (논리 단위)에서 시작점의 지정 합니다. 이 여기서는 현에 정확 하 게 식별할 필요가 없습니다. 전달할 수 있습니다는 POINT 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

ptEnd
Chord의 끝 지점 (논리 단위)를 정의 하는 지점의 x 및 y 좌표를 지정 합니다. 이 여기서는 현에 정확 하 게 식별할 필요가 없습니다. 전달할 수 있습니다는 지점 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

x1y1) 및 ( x2하십시오 y2) 매개 변수 지정 왼쪽 및 오른쪽 아래 모서리를 각각 사각형의 원호가 포함 된 타원을 경계입니다. 합니다 ( x3를 y3) 및 ( x4를 y4) 타원 교차 하는 선의 끝점을 지정 하는 매개 변수입니다. 원호가 선택한 펜을 사용 하 여 그린 이며 선택된 된 브러시를 사용 하 여 채워집니다.

그린 그림을 Chord 함수까지 확장 하지만 오른쪽 아래 좌표를 포함 하지 않습니다. 즉, 도형의 높이 y2 - y1 그림의 너비 이며 x2 - x1합니다.

예제

C++
void CDCView::DrawChord(CDC* pDC)
{
   // Fill the client area with a circle. The circle is
   // blue and filled with blue, but has a chord cut out
   // of it from 3 o'clock to 6 o'clock. That chord is
   // red and filled with a red diagonal hatch.

   // Get the client area.
   CRect rectClient;
   GetClientRect(rectClient);

   // Make a couple of pens and similar brushes.
   CPen penBlue, penRed;
   CBrush brushBlue, brushRed;
   CBrush* pOldBrush;
   CPen* pOldPen;

   brushBlue.CreateSolidBrush(RGB(0, 0, 255));
   brushRed.CreateHatchBrush(HS_FDIAGONAL, RGB(255, 0, 0));
   penBlue.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(0, 0, 255));
   penRed.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(255, 0, 0));

   // Draw from 3 o'clock to 6 o'clock, counterclockwise,
   // in a blue pen with a solid blue fill.
   pOldPen = pDC->SelectObject(&penBlue);
   pOldBrush = pDC->SelectObject(&brushBlue);

   pDC->Chord(rectClient,
      CPoint(rectClient.right, rectClient.CenterPoint().y),
      CPoint(rectClient.CenterPoint().x, rectClient.right));

   // Draw the remaining quarter chord from 6 o'clock
   // to 3 o'clock, counterclockwise, in a red pen
   // with the hatched brush.
   pDC->SelectObject(&penRed);
   pDC->SelectObject(&brushRed);

   // Keep the same parameters, but reverse start and
   // end points.
   pDC->Chord(rectClient,
      CPoint(rectClient.CenterPoint().x, rectClient.right),
      CPoint(rectClient.right, rectClient.CenterPoint().y));

   // Restore the previous pen.
   pDC->SelectObject(pOldPen);
}

CDC::CloseFigure

경로에서 열린 형상을 닫습니다.

BOOL CloseFigure();

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

함수는 그림 그림의 첫 번째 요소에 현재 위치에서 선을 그려 닫습니다 (가장 최근 호출에 의해 지정 된 지점 일반적으로 MoveTo 멤버 함수) 줄을 선 조인 스타일을 사용 하 여 연결 합니다. 그림을 사용 하 여 닫히면 합니다 LineTo 대신 멤버 함수 CloseFigure, 끝 캡을 조인 하는 대신 모퉁이 만드는 데 사용 됩니다. CloseFigure 장치 컨텍스트에서 열린 경로 대괄호 없는 경우에 호출 해야 합니다.

이 함수를 사용 하 여 명시적으로 닫지 않는 경로에 그림 열려 있습니다. (그림을 열 수 현재 지점 및 그림의 시작점을 동일 하는 경우에 합니다.) 뒤의 경로에 추가 하는 곡선 또는 CloseFigure 새 그림을 시작 합니다.

CDC::CreateCompatibleDC

지정 된 장치와 호환 되는 메모리 장치 컨텍스트를 만듭니다 pDC합니다.

BOOL CreateCompatibleDC(CDC* pDC);

매개 변수

pDC
장치 컨텍스트에 대한 포인터입니다. 하는 경우 pDC 가 null 인 경우 함수는 시스템 표시와 호환 되는 메모리 장치 컨텍스트를 만듭니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

메모리 장치 컨텍스트는 메모리 블록의 표시 화면을 나타내는 경우 호환 장치의 실제 장치 화면에 복사 하기 전에 메모리에 이미지를 준비 하 사용할 수 있습니다.

메모리 장치 컨텍스트를 만들면 GDI 1-1 하 여 단색 주식 비트맵에 대 한 자동으로 선택 합니다. 비트맵을 만든 후 해당 컨텍스트로 선택 하는 경우에 메모리 장치 컨텍스트를 사용 하 여 GDI 출력 함수를 사용할 수 있습니다.

이 함수 에서만 래스터 작업을 지 원하는 장치에 대 한 호환 장치 컨텍스트를 만드는 데 사용할 수 있습니다. 참조 된 cdc:: bitblt 장치 컨텍스트 간에 비트 블록 전송에 대 한 정보에 대 한 멤버 함수입니다. 장치 컨텍스트에 래스터 작업을 지원 하는지 여부를 결정할 멤버 함수에서는 RC_BITBLT 래스터 기능 참조 CDC::GetDeviceCaps합니다.

예제

C++
// This handler loads a bitmap from system resources,
// centers it in the view, and uses BitBlt() to paint the bitmap
// bits.
void CDCView::DrawBitmap(CDC* pDC)
{
   // load IDB_BITMAP1 from our resources
   CBitmap bmp;
   if (bmp.LoadBitmap(IDB_BITMAP1))
   {
      // Get the size of the bitmap
      BITMAP bmpInfo;
      bmp.GetBitmap(&bmpInfo);

      // Create an in-memory DC compatible with the
      // display DC we're using to paint
      CDC dcMemory;
      dcMemory.CreateCompatibleDC(pDC);

      // Select the bitmap into the in-memory DC
      CBitmap* pOldBitmap = dcMemory.SelectObject(&bmp);

      // Find a centerpoint for the bitmap in the client area
      CRect rect;
      GetClientRect(&rect);
      int nX = rect.left + (rect.Width() - bmpInfo.bmWidth) / 2;
      int nY = rect.top + (rect.Height() - bmpInfo.bmHeight) / 2;

      // Copy the bits from the in-memory DC into the on-
      // screen DC to actually do the painting. Use the centerpoint
      // we computed for the target offset.
      pDC->BitBlt(nX, nY, bmpInfo.bmWidth, bmpInfo.bmHeight, &dcMemory, 
         0, 0, SRCCOPY);

      dcMemory.SelectObject(pOldBitmap);
   }
   else
   {
      TRACE0("ERROR: Where's IDB_BITMAP1?\n");
   }
}

CDC::CreateDC

지정 된 장치에 대 한 장치 컨텍스트를 만듭니다.

BOOL CreateDC(
    LPCTSTR lpszDriverName,
    LPCTSTR lpszDeviceName,
    LPCTSTR lpszOutput,
    const void* lpInitData);

매개 변수

lpszDriverName
장치 드라이버 (예: "EPSON")의 확장명이 없는 파일 이름을 지정 하는 null로 끝나는 문자열을 가리킵니다. 전달할 수도 있습니다는 CString 이 매개 변수에 대 한 개체입니다.

lpszDeviceName
지원 되는 데 특정 장치 (예: "EPSON FX-80")의 이름을 지정 하는 null로 끝나는 문자열을 가리킵니다. 합니다 lpszDeviceName 모듈에서 둘 이상의 장치를 지 원하는 경우 매개 변수를 사용 합니다. 전달할 수도 있습니다는 CString 이 매개 변수에 대 한 개체입니다.

lpszOutput
실제 출력 매체 (파일 또는 출력 포트)에 대해 파일 또는 장치 이름을 지정 하는 null로 끝나는 문자열을 가리킵니다. 전달할 수도 있습니다는 CString 이 매개 변수에 대 한 개체입니다.

lpInitData
가리키는 DEVMODE 장치 드라이버에 대 한 장치별 초기화 데이터를 포함 하는 구조체. Windows DocumentProperties 함수는 지정된 된 장치에 대 한 입력이 구조를 검색 합니다. 합니다 lpInitData 장치 드라이버 컨트롤 패널을 통해 사용자가 지정한 기본 초기화 (있는 경우)를 사용 하는 경우 매개 변수가 NULL 이어야 합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

인쇄 합니다. H 헤더 파일은 경우에 필요 합니다 DEVMODE 구조를 사용 합니다.

장치 이름을이 규칙에 부합: 끝는 콜론 (:)는 것이 좋지만 선택 사항입니다. Windows 장치 이름이 콜론으로 끝나는 콜론 없이 동일한 이름으로 동일한 포트에 매핑되는 종료 콜론을 제거 합니다. 드라이버와 포트 이름은 선행 또는 후행 공백을 사용할 수 없습니다. 컨텍스트 정보를 사용 하 여 GDI 출력 함수를 사용할 수 없습니다.

CDC::CreateIC

지정 된 장치에 대 한 내용은 컨텍스트를 만듭니다.

BOOL CreateIC(
    LPCTSTR lpszDriverName,
    LPCTSTR lpszDeviceName,
    LPCTSTR lpszOutput,
    const void* lpInitData);

매개 변수

lpszDriverName
장치 드라이버 (예: "EPSON")의 확장명이 없는 파일 이름을 지정 하는 null로 끝나는 문자열을 가리킵니다. 전달할 수는 CString 이 매개 변수에 대 한 개체입니다.

lpszDeviceName
지원 되는 데 특정 장치 (예: "EPSON FX-80")의 이름을 지정 하는 null로 끝나는 문자열을 가리킵니다. 합니다 lpszDeviceName 모듈에서 둘 이상의 장치를 지 원하는 경우 매개 변수를 사용 합니다. 전달할 수는 CString 이 매개 변수에 대 한 개체입니다.

lpszOutput
실제 출력 미디어 (파일 또는 포트)에 대 한 파일 또는 장치 이름을 지정 하는 null로 끝나는 문자열을 가리킵니다. 전달할 수는 CString 이 매개 변수에 대 한 개체입니다.

lpInitData
장치 드라이버에 대 한 장치별 초기화 데이터를 가리킵니다. 합니다 lpInitData 장치 드라이버 컨트롤 패널을 통해 사용자가 지정한 기본 초기화 (있는 경우)를 사용 하는 경우 매개 변수가 NULL 이어야 합니다. 참조 CreateDC 장치별 초기화에 대 한 데이터 형식에 대 한 합니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

장치 컨텍스트를 만들지 않고 장치에 대 한 정보를 얻을 수는 빠른 방법을 제공 하는 정보 컨텍스트입니다.

장치 이름을이 규칙에 부합: 끝는 콜론 (:)는 것이 좋지만 선택 사항입니다. Windows 장치 이름이 콜론으로 끝나는 콜론 없이 동일한 이름으로 동일한 포트에 매핑되는 종료 콜론을 제거 합니다. 드라이버와 포트 이름은 선행 또는 후행 공백을 사용할 수 없습니다. 컨텍스트 정보를 사용 하 여 GDI 출력 함수를 사용할 수 없습니다.

CDC::DeleteDC

일반적으로이 함수를 호출 하지 마세요 소멸자는이를 수행 합니다.

BOOL DeleteDC();

반환 값

함수가 성공적으로 완료 하는 경우 0이 아닌 값 그렇지 않으면 0입니다.

설명

합니다 DeleteDC 연관 된 Windows 장치 컨텍스트를 삭제 하는 멤버 함수 m_hDC 현재에서 CDC 개체입니다. 이 경우 CDC 개체가 지정된 된 장치에 대 한 마지막 활성 장치 컨텍스트, 장치가 알림이 전송 되 고 장치에서 사용 하는 모든 저장소 및 시스템 리소스가 해제 됩니다.

응용 프로그램을 호출 하지 않아야 DeleteDC 장치 컨텍스트로 선택 된 개체입니다. 개체 삭제 하기 전에 장치 컨텍스트 외부에서 먼저 선택 해야 합니다.

응용 프로그램이 핸들을 호출 하 여 얻은 장치 컨텍스트를 삭제 해서는 cwnd:: Getdc합니다. 대신 호출 해야 합니다 cwnd:: Releasedc를 장치 컨텍스트를 해제 합니다. 합니다 CClientDC 하 고 CWindowDC 클래스가이 기능을 포함할 제공 됩니다.

합니다 DeleteDC 함수는 일반적으로 사용 하 여 만든 장치 컨텍스트를 삭제 하는 데 사용 됩니다 CreateDC합니다 CreateIC, 또는 CreateCompatibleDC합니다.

예제

예를 참조 하세요 CPrintDialog::GetPrinterDC합니다.

CDC::DeleteTempMap

자동으로 호출 합니다 CWinApp 유휴 시간 처리기 DeleteTempMap 임시 삭제 CDC 개체에 의해 생성 FromHandle, 장치 컨텍스트 핸들을 삭제 하지 않습니다 ( hDCs) 일시적으로 연결 합니다 된CDC 개체입니다.

static void PASCAL DeleteTempMap();

CDC::Detach

분리 하려면이 함수를 호출 m_hDC (출력 장치 컨텍스트)에서 합니다 CDC 개체를 모두 설정 m_hDC 및 m_hAttribDC NULL로 합니다.

HDC Detach();

반환 값

Windows 장치 컨텍스트입니다.

CDC::DPtoHIMETRIC

에 대 한 부여 HIMETRIC 크기 OLE 픽셀 HIMETRIC 변환 하는 경우이 함수를 사용 합니다.

void DPtoHIMETRIC(LPSIZE lpSize) const;

매개 변수

lpSize
가리키는 크기 구조 나 CSize 개체입니다.

설명

장치 컨텍스트 개체의 매핑 모드가 MM_LOENGLISH, MM_HIENGLISH, MM_LOMETRIC, 또는 MM_HIMETRIC 이면 변환이 실제 인치당 픽셀 수에 기반 합니다. 매핑 모드 모드 중 하나를 다른 제한 되지 않은 (예: MM_TEXT) 인 경우 변환은 논리 인치당 픽셀 수에 기반 합니다.

CDC::DPtoLP

장치 단위를 논리 단위로 변환합니다.

void DPtoLP(
    LPPOINT lpPoints,
    int nCount = 1) const;

void DPtoLP(LPRECT lpRect) const;
void DPtoLP(LPSIZE lpSize) const;

매개 변수

lpPoints
배열을 가리킵니다 지점 구조 나 CPoint 개체입니다.

nCount
배열에서 요소의 수입니다.

lpRect
가리키는 RECT 구조 나 CRect 개체입니다. 이 매개 변수는 논리 지점 장치 지점에서 한 사각형을 변환 하는 간단한 경우에 사용 됩니다.

lpSize
가리키는 크기 구조 나 CSize 개체입니다.

설명

함수는 각 요소의 좌표 또는 차원의 GDI의 논리적 좌표계로 장치 좌표계에서 크기를 매핑합니다. 변환 원본 및 장치 창과 뷰포트에 대 한 범위 설정과 현재 매핑 모드에 따라 달라 집니다.

CDC::Draw3dRect

3 차원 사각형을 그리려면이 멤버 함수를 호출 합니다.

void Draw3dRect(
    LPCRECT lpRect,
    COLORREF clrTopLeft,
    COLORREF clrBottomRight);

void Draw3dRect(
    int x,
    int y,
    int cx,
    int cy,
    COLORREF clrTopLeft,
    COLORREF clrBottomRight);

매개 변수

lpRect
(논리 단위)의 경계 사각형을 지정 합니다. 에 대 한 포인터를 전달할 수 있습니다는 RECT 구조 또는 CRect 이 매개 변수에 대 한 개체입니다.

clrTopLeft
3 차원 사각형의 위쪽과 왼쪽된의 색을 지정 합니다.

clrBottomRight
3 차원 사각형의 오른쪽 왼쪽과 아래쪽의 색을 지정합니다.

x
3 차원 사각형의 왼쪽 위 모퉁이의 논리적 x 좌표를 지정합니다.

y
3 차원 사각형의 왼쪽 위 모퉁이의 논리적 y 좌표를 지정합니다.

cx
3 차원 사각형의 너비를 지정합니다.

cy
3 차원 사각형의 높이 지정합니다.

설명

지정 되는 색의 위쪽과 왼쪽된으로 사각형을 그릴지 clrTopLeft 아래쪽 및 오른쪽 면에서 지정 된 색에서 clrBottomRight합니다.

예제

C++
void CDCView::Draw3dRect(CDC* pDC)
{
   // get the client area
   CRect rect;
   GetClientRect(rect);

   // shrink our rect 20 pixels on all sides
   rect.DeflateRect(20, 20);

   // draw a rectangle with red top and left sides, and
   // green right and bottom sides.
   pDC->Draw3dRect(rect, RGB(255, 0, 0), RGB(0, 255, 0));

   // This call to the four-integer override would draw
   // the same rectangle with a little less convenience:

   // pDC->Draw3dRect(rect.left, rect.top, rect.Width(), rect.Height(),
   //    RGB(255, 0, 0), RGB(0, 255, 0));
}

CDC::DrawDragRect

끌기 사각형을 다시 그리도록 하려면 반복 해 서이 멤버 함수를 호출 합니다.

void DrawDragRect(
    LPCRECT lpRect,
    SIZE size,
    LPCRECT lpRectLast,
    SIZE sizeLast,
    CBrush* pBrush = NULL,
    CBrush* pBrushLast = NULL);

매개 변수

lpRect
가리키는 RECT 구조 또는 CRect 사각형의 논리적 좌표를 지정 하는 개체-여기서는 다시 그려지는 사각형의 끝 위치입니다.

size
사각형의 내부 테두리 (즉, 테두리의 두께)의 왼쪽 위 모퉁이에 외부 테두리 왼쪽 위 모서리에서 거리를 지정합니다.

lpRectLast
가리키는 RECT 구조 또는 CRect 논리적 좌표가 사각형의 위치를 지정 하는 개체-여기서 그릴 사각형의 원래 위치입니다.

sizeLast
원래 그릴 사각형의 내부 테두리 (즉, 테두리의 두께)의 왼쪽 위 모퉁이에 외부 테두리 왼쪽 위 모서리에서 거리를 지정 합니다.

pBrush
브러시 개체에 대 한 포인터입니다. 기본 하프톤 브러시를 사용 하려면 NULL로 설정 합니다.

pBrushLast
사용 되는 마지막 브러시 개체에 대 한 포인터입니다. 기본 하프톤 브러시를 사용 하려면 NULL로 설정 합니다.

설명

시각적 피드백을 제공 하기 위해 마우스 위치를 샘플 처럼 루프에서 호출 합니다. 호출 하는 경우 DrawDragRect, 이전 사각형 지워지며 새로 그려집니다. 예를 들어, 사용자와 화면을 가로질러 사각형 끌 DrawDragRect 원래의 사각형을 지울 되며 새 위치에서 새 인증서를 다시 그리도록 합니다. 기본적으로 DrawDragRect 깜박임을 제거 하 고 원활 하 게 이동 사각형의 모양을 만들려면 하프톤 브러시를 사용 하 여 사각형을 그립니다.

처음 호출 하면 DrawDragRect서 lpRectLast 매개 변수는 NULL 이어야 합니다.

CDC::DrawEdge

지정 된 형식 및 스타일의 사각형의 가장자리를 그릴이 멤버 함수를 호출 합니다.

BOOL DrawEdge(
    LPRECT lpRect,
    UINT nEdge,
    UINT nFlags);

매개 변수

lpRect
에 대 한 포인터를 RECT 사각형의 논리적 좌표를 포함 하는 구조입니다.

nEdge
그릴 내부 및 외부 가장자리의 형식을 지정 합니다. 이 매개 변수는 내부 테두리 플래그 및 외부 테두리 플래그 조합 이어야 합니다. 참조 DrawEdge 매개 변수의 형식의 테이블에 대 한 Windows SDK에 있습니다.

nFlags
그릴 테두리의 형식을 지정 하는 플래그입니다. 참조 DrawEdge 매개 변수 값의 테이블에 대 한 Windows SDK에 있습니다. 대각선, 사각형 매개 변수에 의해 경계가 지정 된 벡터의 끝점 BF_RECT 플래그를 지정 합니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

CDC::DrawEscape

그리기는 GDI (그래픽 장치 인터페이스)를 통해 직접 사용할 수 없는 비디오 디스플레이의 기능에 액세스 합니다.

int DrawEscape(
    int nEscape,
    int nInputSize,
    LPCSTR lpszInputData);

매개 변수

nEscape
수행할 이스케이프 함수를 지정 합니다.

nInputSize
가리키는 데이터의 바이트 수를 지정 합니다 lpszInputData 매개 변수입니다.

lpszInputData
지정 된 이스케이프 하는 데 필요한 입력된 구조를 가리킵니다.

반환 값

함수의 결과 지정 합니다. 성공 하면만; 구현에 대 한 확인 QUERYESCSUPPORT 그리기 이스케이프를 제외 하 고 0 보다 큰 이스케이프; 구현 되지 않은 경우에 0 또는 또는 0 보다 작은 경우 오류가 발생 했습니다.

설명

응용 프로그램을 호출할 때 DrawEscape,으로 식별 된 데이터 nInputSize 하 고 lpszInputData 지정된 디스플레이 드라이버에 직접 전달 됩니다.

CDC::DrawFocusRect

사각형에 포커스가 있음을 나타내기 위해 사용 되는 스타일에 사각형을 그립니다.

void DrawFocusRect(LPCRECT lpRect);

매개 변수

lpRect
가리키는 RECT 구조 또는 CRect 그릴 사각형의 논리적 좌표를 지정 하는 개체입니다.

설명

부울 XOR 함수 이므로이 함수를 동일한 사각형을 두 번 호출 사각형을 표시에서 제거 합니다. 이 함수에 의해 그려지는 사각형을 스크롤할 수 없습니다. 이 함수에 의해 그려지는 사각형을 포함 하는 영역을 스크롤을 먼저 호출 DrawFocusRect 화면에서 사각형을 제거 하려면 스크롤한 다음, 영역 및 다음 호출 DrawFocusRect 다시 그릴 사각형의 새 위치입니다.

 주의

DrawFocusRect MM_TEXT 모드 에서만 작동합니다. 다른 모드에서이 함수에 포커스 영역을 올바르게 소모 하지 않는지 되지만 오류 값을 반환 하지 않습니다.

CDC::DrawFrameControl

이 멤버 함수는 지정 된 형식 및 스타일 프레임 컨트롤 그리기를 호출 합니다.

BOOL DrawFrameControl(
    LPRECT lpRect,
    UINT nType,
    UINT nState);

매개 변수

lpRect
에 대 한 포인터를 RECT 사각형의 논리적 좌표를 포함 하는 구조입니다.

nType
그릴 frame 컨트롤의 형식을 지정 합니다. 참조를 uType 에 매개 변수 DrawFrameControl 이 매개 변수의 가능한 값 목록은 Windows sdk입니다.

nState
Frame 컨트롤의 초기 상태를 지정합니다. 에 대해 설명 하는 값 중 하나 이상을 수는 uState 매개 변수에서 DrawFrameControl Windows SDK의 합니다. 사용 된 nState DFCS_ADJUSTRECT 누름 단추 주변 가장자리를 제외할 경계 사각형에 맞게 값입니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

여러 경우에 nState 에 따라 달라 집니다 합니다 n 형식 매개 변수입니다. 다음은 4 간의 관계를 보여 줍니다 n 형식 값 및 nState:

  • DFC_BUTTON

    • DFCS_BUTTON3STATE 상태 단추

    • DFCS_BUTTONCHECK 확인란

    • DFCS_BUTTONPUSH 푸시 단추

    • DFCS_BUTTONRADIO 라디오 단추

    • 라디오 단추의 DFCS_BUTTONRADIOIMAGE 이미지 (정사각형일 이미지를 필요)

    • 라디오 단추에 대 한 DFCS_BUTTONRADIOMASK 마스크 (정사각형일 마스크 해야 하는 데 사용)

  • DFC_CAPTION

    • DFCS_CAPTIONCLOSE 닫기 단추

    • DFCS_CAPTIONHELP 도움말 단추

    • DFCS_CAPTIONMAX 최대화 단추

    • DFCS_CAPTIONMIN 최소화 단추

    • DFCS_CAPTIONRESTORE 복원 단추

  • DFC_MENU

    • DFCS_MENUARROW 하위 메뉴 화살표

    • DFCS_MENUBULLET 글머리 기호

    • DFCS_MENUCHECK 확인 표시

  • DFC_SCROLL

    • DFCS_SCROLLCOMBOBOX 콤보 상자 스크롤 막대

    • 스크롤 막대의 DFCS_SCROLLDOWN 아래쪽 화살표

    • 스크롤 막대의 DFCS_SCROLLLEFT 왼쪽 화살표

    • 스크롤 막대의 DFCS_SCROLLRIGHT 오른쪽 화살표

    • 창의 오른쪽 아래 모서리에 DFCS_SCROLLSIZEGRIP 크기 조정 그립

    • 스크롤 막대의 DFCS_SCROLLUP 위쪽 화살표

예제

이 코드는 창의 오른쪽 아래 모퉁이에 크기 조정 막대의 그리퍼를 그립니다. 에 적합 합니다 OnPaint 스타일이 없는 하며 하지 않습니다 (예: 상태 표시줄)는 크기 조정 막대의 그리퍼 제공할 수 있는 다른 컨트롤을 포함 하는 일반적으로 대화 상자를 처리기입니다.

C++
void CDCView::DrawFC(CDC* pDC)
{
   CRect rc;
   GetClientRect(&rc);

   rc.left = rc.right - ::GetSystemMetrics(SM_CXHSCROLL);
   rc.top = rc.bottom - ::GetSystemMetrics(SM_CYVSCROLL);

   pDC->DrawFrameControl(rc, DFC_SCROLL, DFCS_SCROLLSIZEGRIP);
}

CDC::DrawIcon

현재 장치에서 아이콘을 그립니다 CDC 개체입니다.

BOOL DrawIcon(
    int x,
    int y,
    HICON hIcon);

BOOL DrawIcon(
    POINT point,
    HICON hIcon);

매개 변수

x
아이콘의 왼쪽 위 모퉁이의 논리적 x 좌표를 지정합니다.

y
아이콘의 왼쪽 위 모퉁이의 논리적 y 좌표를 지정합니다.

hIcon
그릴 아이콘의 핸들을 식별 합니다.

point
논리적 x 좌표와 y-아이콘의 왼쪽 위 모퉁이 지정합니다. 전달할 수는 지점 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

함수가 성공적으로 완료 하는 경우 0이 아닌 값 그렇지 않으면 0입니다.

설명

함수 아이콘의 왼쪽 위 모퉁이 지정 된 위치에 배치 x 하 고 y합니다. 위치가 장치 컨텍스트의 현재 매핑 모드를 적용 합니다.

아이콘 리소스 해야 이전에 로드 된 함수를 사용 하 여 CWinApp::LoadIcon하십시오 CWinApp::LoadStandardIcon, 또는 CWinApp::LoadOEMIcon합니다. MM_TEXT 이 함수를 사용 하기 전에 매핑 모드를 선택 해야 합니다.

예제

예를 참조 하세요 CWnd::IsIconic합니다.

CDC::DrawState

이미지를 표시 하 고 비활성화 된 같은 상태 또는 기본 상태를 나타내기 위해 시각 효과 적용 하려면이 멤버 함수를 호출 합니다.

 참고

모든 플래그 시각 효과 적용 하기 전에 이미지를 흑백 변환할 DSS_NORMAL를 제외 하 고 설명 합니다.

BOOL DrawState(
    CPoint pt,
    CSize size,
    HBITMAP hBitmap,
    UINT nFlags,
    HBRUSH hBrush = NULL);

BOOL DrawState(
    CPoint pt,
    CSize size,
    CBitmap* pBitmap,
    UINT nFlags,
    CBrush* pBrush = NULL);

BOOL DrawState(
    CPoint pt,
    CSize size,
    HICON hIcon,
    UINT nFlags,
    HBRUSH hBrush = NULL);

BOOL DrawState(
    CPoint pt,
    CSize size,
    HICON hIcon,
    UINT nFlags,
    CBrush* pBrush = NULL);

BOOL DrawState(
    CPoint pt,
    CSize size,
    LPCTSTR lpszText,
    UINT nFlags,
    BOOL bPrefixText = TRUE,
    int nTextLen = 0,
    HBRUSH hBrush = NULL);

BOOL DrawState(
    CPoint pt,
    CSize size,
    LPCTSTR lpszText,
    UINT nFlags,
    BOOL bPrefixText = TRUE,
    int nTextLen = 0,
    CBrush* pBrush = NULL);

BOOL DrawState(
    CPoint pt,
    CSize size,
    DRAWSTATEPROC lpDrawProc,
    LPARAM lData,
    UINT nFlags,
    HBRUSH hBrush = NULL);

BOOL DrawState(
    CPoint pt,
    CSize size,
    DRAWSTATEPROC lpDrawProc,
    LPARAM lData,
    UINT nFlags,
    CBrush* pBrush = NULL);

매개 변수

pt
이미지의 위치를 지정합니다.

size
이미지의 크기를 지정합니다.

hBitmap
비트맵 핸들입니다.

nFlags
이미지 유형 및 상태를 지정 하는 플래그입니다. 참조 DrawState 가능한 Windows sdk nFlags 형식 및 상태입니다.

hBrush
브러시에 대 한 핸들입니다.

pBitmap
CBitmap 개체에 대 한 포인터입니다.

pBrush
CBrush 개체에 대 한 포인터입니다.

hIcon
아이콘에 대한 핸들입니다.

lpszText
텍스트 포인터입니다.

bPrefixText
가속기 니모닉을 포함할 수 있는 텍스트입니다. lData 매개 변수 문자열의 주소를 지정 하며 nTextLen 매개 변수 길이 지정 합니다. 하는 경우 nTextLen 0 인 문자열을 null로 끝나는 것으로 간주 됩니다.

nTextLen
가리키는 텍스트 문자열의 길이 lpszText합니다. 하는 경우 nTextLen 0 인 문자열을 null로 끝나는 것으로 간주 됩니다.

lpDrawProc
이미지를 렌더링 하는 데 사용 되는 콜백 함수에 대 한 포인터입니다. 이미지에 입력 하는 경우이 매개 변수는 필수 nFlagsDST_COMPLEX 됩니다. 선택 사항 이므로 이미지 형식이 DST_TEXT 경우 NULL 일 수 있습니다. 다른 모든 이미지 형식에 대해이 매개 변수가 무시 됩니다. 콜백 함수에 대 한 자세한 내용은 참조는 DrawStateProc Windows SDK에는 함수입니다.

lData
이미지에 대 한 정보를 지정합니다. 이 매개 변수의 의미는 이미지 형식에 따라 달라 집니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

CDC::DrawText

지정된 된 사각형에서 텍스트의 서식을 지정 하려면이 멤버 함수를 호출 합니다. 추가 서식 옵션을 지정 하려면 사용 하 여 CDC::DrawTextEx합니다.

virtual int DrawText(
    LPCTSTR lpszString,
    int nCount,
    LPRECT lpRect,
    UINT nFormat);

int DrawText(
    const CString& str,
    LPRECT lpRect,
    UINT nFormat);

매개 변수

lpszString
그릴 문자열을 가리킵니다. 하는 경우 nCount 가-1 이면 null로 끝나는 문자열 이어야 합니다.

nCount
문자열의 문자 수를 지정 합니다. 하는 경우 nCount -1 이면 lpszString 는 null로 끝나는 문자열에 대 한 긴 포인터 것으로 간주 됩니다 및 DrawText 문자 수를 자동으로 계산 합니다.

lpRect
가리키는 RECT 구조 또는 CRect 서식을 지정할 텍스트가입니다 (논리적 좌표로) 사각형을 포함 하는 개체입니다.

str
CString 을 그릴 수 있도록 지정된 된 문자를 포함 하는 개체입니다.

nFormat
텍스트 서식 지정의 메서드를 지정 합니다. 에 대해 설명 된 값의 조합일 수 있습니다는 uFormat 에 매개 변수 DrawText Windows sdk에서입니다. (비트 OR 연산자를 사용 하 여 결합):

 참고

일부 uFormat 플래그 조합이 전달된 된 문자열 수정 될 수 있습니다. 사용 하면 DT_MODIFYSTRING dt_end_ellipsis를 가져옵니다 또는 DT_PATH_ELLIPSIS 나타날 문자열을 수정할 수에서 어설션을 발생 된 CString 재정의 합니다. 값 DT_CALCRECT, DT_EXTERNALLEADING, DT_INTERNAL, DT_NOCLIP, DT_NOPREFIX DT_TABSTOP 값으로 사용할 수 없습니다.

반환 값

함수에 성공 하는 경우 텍스트의 높이입니다.

설명

텍스트를 왼쪽에서 오른쪽에 맞추면 적절 한 공백이 나 지정된 된 사각형의 가운데에 탭을 확장 하 고 지정된 된 사각형 내에 맞는 줄으로 텍스트를 분리 하 여 텍스트 형식을 지정 합니다. 변수로 지정 된 형식의 형식 nFormat합니다.

이 멤버 함수는 텍스트를 그릴 장치 컨텍스트의 선택된 된 글꼴, 텍스트 색 및 배경색을 사용 합니다. DT_NOCLIP 형식을 사용 하는 경우가 아니면 DrawText 텍스트에 지정 된 사각형 밖에 표시 되지 않도록 텍스트를 자릅니다. 모든 서식 지정 DT_SINGLELINE 형식을 지정 하는 경우가 아니면 여러 줄으로 간주 됩니다.

선택한 글꼴을 지정된 된 사각형에 비해 너무 큰 경우는 DrawText 멤버 함수는 더 작은 글꼴로 하려고 시도 하지 않습니다.

DT_CALCRECT 플래그를 지정 하 여 지정 된 사각형이 lpRect 너비와 높이 텍스트를 그리는 데 필요한를 반영 하도록 업데이트 됩니다.

TA_UPDATECP 텍스트 맞춤 플래그를 설정한 경우 (참조 CDC::SetTextAlign), DrawText 아니라 지정된 된 사각형의 왼쪽에 있는 현재 위치에서 시작 하는 텍스트를 표시 합니다. DrawText TA_UPDATECP 플래그를 설정한 경우 텍스트 줄 바꿈되지 것입니다 (즉, DT_WORDBREAK 플래그 영향을 주지 것입니다).

텍스트 색을 설정할 수 있습니다 CDC::SetTextColor합니다.

CDC::DrawTextEx

지정된 된 사각형에서 텍스트에 서식을 지정합니다.

virtual int DrawTextEx(
    LPTSTR lpszString,
    int nCount,
    LPRECT lpRect,
    UINT nFormat,
    LPDRAWTEXTPARAMS lpDTParams);

int DrawTextEx(
    const CString& str,
    LPRECT lpRect,
    UINT nFormat,
    LPDRAWTEXTPARAMS lpDTParams);

매개 변수

lpszString
그릴 문자열을 가리킵니다. 하는 경우 nCount 가-1 이면 문자열 종료 null 이어야 합니다.

nCount
문자열의 문자 수를 지정 합니다. 하는 경우 nCount -1 이면 lpszString 는 null로 끝나는 문자열에 대 한 긴 포인터 것으로 간주 됩니다 및 DrawText 문자 수를 자동으로 계산 합니다.

lpRect
가리키는 RECT 구조 또는 CRect 서식을 지정할 텍스트가입니다 (논리적 좌표로) 사각형을 포함 하는 개체입니다.

str
CString 을 그릴 수 있도록 지정된 된 문자를 포함 하는 개체입니다.

nFormat
텍스트 서식 지정의 메서드를 지정 합니다. 에 대해 설명 된 값의 조합일 수 있습니다는 uFormat 에 매개 변수 DrawText Windows sdk에서입니다. (비트를 사용 하 여 결합 또는 연산자).

 참고

일부 uFormat 플래그 조합이 전달된 된 문자열 수정 될 수 있습니다. 사용 하면 DT_MODIFYSTRING dt_end_ellipsis를 가져옵니다 또는 DT_PATH_ELLIPSIS 나타날 문자열을 수정할 수에서 어설션을 발생 된 CString 재정의 합니다. 값 DT_CALCRECT, DT_EXTERNALLEADING, DT_INTERNAL, DT_NOCLIP, DT_NOPREFIX DT_TABSTOP 값으로 사용할 수 없습니다.

lpDTParams
에 대 한 포인터를 DRAWTEXTPARAMS 구조 추가 서식 지정 하는 옵션입니다. 이 매개 변수는 NULL 일 수 있습니다.

설명

텍스트를 왼쪽에서 오른쪽에 맞추면 적절 한 공백이 나 지정된 된 사각형의 가운데에 탭을 확장 하 고 지정된 된 사각형 내에 맞는 줄으로 텍스트를 분리 하 여 텍스트 형식을 지정 합니다. 변수로 지정 된 형식의 형식 nFormat 하 고 lpDTParams합니다. 자세한 내용은 CDC::DrawText 하 고 DrawTextEx Windows SDK의 합니다.

텍스트 색을 설정할 수 있습니다 CDC::SetTextColor합니다.

CDC::Ellipse

타원을 그립니다.

BOOL Ellipse(
    int x1,
    int y1,
    int x2,
    int y2);

BOOL Ellipse(LPCRECT lpRect);

매개 변수

x1
타원의 경계 사각형의 왼쪽 위 모퉁이 대 한 논리적 x 좌표를 지정합니다.

y1
타원의 경계 사각형의 왼쪽 위 모퉁이의 논리적 y 좌표를 지정합니다.

x2
타원의 경계 사각형의 오른쪽 아래 모퉁이의 논리적 x 좌표를 지정합니다.

y2
타원의 경계 사각형의 오른쪽 아래 모퉁이의 논리적 y 좌표를 지정합니다.

lpRect
타원의 경계 사각형을 지정 합니다. 전달할 수도 있습니다는 CRect 이 매개 변수에 대 한 개체입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

타원의 중심은 지정 된 경계 사각형의 중심 x1y1하십시오 x2, 및 y2, 또는 lpRect합니다. 현재 펜으로 타원이 그려지고 현재 브러시를 사용 하 여 해당 내부를 채웁니다.

이 함수를 그린 그림까지 확장 하지만 오른쪽 아래 좌표를 포함 하지 않습니다. 즉, 도형의 높이 y2 - y1 그림의 너비 이며 x2 - x1합니다.

경계 사각형의 높이 또는 너비 0 인 경우 없습니다 타원이 그려집니다.

CDC::EndDoc

호출 하 여 시작 하는 인쇄 작업을 종료 합니다 StartDoc 멤버 함수입니다.

int EndDoc();

반환 값

보다 크거나 같은 함수에 성공 하면 0 또는 음수 값 오류가 발생 했습니다.

설명

이 멤버 함수는 ENDDOC 프린터 이스케이프 바꾼 인쇄 작업을 성공적으로 완료 한 직후 호출 해야 합니다.

응용 프로그램에 인쇄 오류 또는 취소 된 인쇄 작업을 발견 하면, 해당 시도 하지 않아야 하나를 사용 하 여 작업을 종료할 EndDoc 나 AbortDoc합니다. GDI는 자동으로 오류 값을 반환 하기 전에 작업을 종료 합니다.

메타 파일 내에서이 함수를 사용 하지 해야 합니다.

예제

예를 참조 하세요 CDC::StartDoc합니다.

CDC::EndPage

장치에 응용 프로그램 페이지 쓰기 작업을 완료 되었음을 알립니다.

int EndPage();

반환 값

보다 크거나 같은 함수에 성공 하면 0 또는 음수 값 오류가 발생 했습니다.

설명

이 멤버 함수는 대개 새 페이지로 이동 하는 장치 드라이버를 직접 사용 합니다.

이 멤버 함수는 NEWFRAME 프린터 이스케이프를 대체합니다. NEWFRAME, 달리이 함수는 항상 페이지를 인쇄 후 호출 됩니다.

예제

예를 참조 하세요 CDC::StartDoc합니다.

CDC::EndPath

경로 대괄호를 닫고 장치 컨텍스트로 대괄호 정의한 경로 선택 합니다.

BOOL EndPath();

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

예제

예를 참조 하세요 cdc:: beginpath합니다.

CDC::EnumObjects

펜을 열거 하 고 브러시 장치 컨텍스트에서 사용할 수 있습니다.

int EnumObjects(
    int nObjectType,
    int (CALLBACK* lpfn)(
    LPVOID,
    LPARAM),
    LPARAM lpData);

매개 변수

nObjectType
개체 유형을 지정합니다. OBJ_BRUSH 또는 OBJ_PEN 값이 있습니다.

lpfn
응용 프로그램에서 제공한 콜백 함수의 프로시저 인스턴스 주소가입니다. 아래의 "설명" 섹션을 참조 하세요.

lpData
응용 프로그램에서 제공한 데이터를 가리킵니다. 데이터 개체 정보를 함께 콜백 함수에 전달 됩니다.

반환 값

반환 된 마지막 값을 지정 합니다 콜백 함수합니다. 해당 의미는 사용자 정의 됩니다.

설명

지정 된 형식의 각 개체에 대해 전달 하는 콜백 함수는 해당 개체에 대 한 정보를 사용 하 여 호출 됩니다. 시스템 개체를 더 이상 없거나 콜백 함수는 0을 반환 될 때까지 콜백 함수를 호출 합니다.

Microsoft Visual c + +의 새로운 기능 하도록 설정 하는 함수에 전달 되는 일반 함수를 사용 하 여 확인 EnumObjects합니다. 주소 전달 EnumObjects 사용 하 여 내보낸 함수에 대 한 포인터 내보내기 와 Pascal 호출 규칙이 있습니다. 보호 모드 응용 프로그램에서 Windows MakeProcInstance 함수를 사용 하 여이 함수를 만들거나 FreeProcInstance Windows 함수를 사용 하 여 사용 후 함수를 자유 필요가 없습니다.

또한 필요가 없습니다에서 함수 이름을 내보낼를 내보내기를 응용 프로그램의 모듈 정의 파일의 문입니다. 대신 사용할 수 있습니다 합니다 내보내기 한정자 함수

콜백 내보내기 int AFunction (LPSTRLPSTR);

사용 하면 컴파일러가 별칭 지정 없이 이름별 내보내기에 대 한 적절 한 내보내기 레코드를 내보냅니다. 이 대부분의 요구에 적합합니다. 일부 특수 한 경우 서 수 또는 별칭 내보내기 함수를 내보내는 것 처럼 계속 사용 해야는 내보내기를 모듈 정의 파일의 문입니다.

Microsoft Foundation 프로그램 컴파일에 대 한 /GA와 /GEs 컴파일러 옵션은 일반적으로 사용 합니다. Microsoft Foundation 클래스를 사용 하 여 /Gw 컴파일러 옵션을 사용 되지 않습니다. (Windows 함수를 사용 하는 경우 MakeProcInstance,이 API에 필요한 형식이 관련 없으므로 FARPROC에서 반환 된 함수 포인터를 명시적으로 캐스팅 해야 합니다.) 콜백 등록 인터페이스는 이제 형식이 안전한 (올바른 유형의 특정 콜백 함수를 가리키는 함수 포인터에 전달 해야 합니다).

모든 콜백 함수가 콜백 경계를 넘어 예외를 throw 할 수 없습니다 때문에 Windows를 반환 하기 전에 Microsoft Foundation 예외를 트래핑 해야 참고도 합니다. 예외에 대 한 자세한 내용은 문서 참조 예외합니다.

예제

C++
// print some info about a pen we're ready to enumerate
BOOL CALLBACK EnumObjectHandler(LPVOID lpLogObject, LPARAM /* lpData */)
{
   LOGPEN* pPen = (LOGPEN*) lpLogObject;
   
   switch (pPen->lopnStyle)
   {
   case PS_SOLID:
      TRACE0("PS_SOLID:      ");
      break;
   case PS_DASH:
      TRACE0("PS_DASH:       ");
      break;
   case PS_DOT:
      TRACE0("PS_DOT:        ");
      break;
   case PS_DASHDOT:
      TRACE0("PS_DASHDOT:    ");
      break;
   case PS_DASHDOTDOT:
      TRACE0("PS_DASHDOTDOT: ");
      break;
   case PS_NULL:
      TRACE0("PS_NULL:       ");
      break;
   case PS_INSIDEFRAME:
      TRACE0("PS_INSIDEFRAME:");
      break;
   default:
      TRACE0("unk style:");
   }

   TRACE2("Color: 0x%8.8X, Width: %d\n", pPen->lopnColor, pPen->lopnWidth);
   return TRUE;
}

// get the default printer and enumerate the pens it has
void CDCView::OnEnumPens()
{
   CPrintDialog dlg(FALSE);
   dlg.GetDefaults();
   HDC hdc = dlg.GetPrinterDC();

   if (hdc != NULL)
   {
      CDC dc;
      dc.Attach(hdc);
      VERIFY(dc.EnumObjects(OBJ_PEN, EnumObjectHandler, 0));
   }
}

CDC::Escape

이 멤버 함수는 Win32 프로그래밍에 대 한 실질적으로 사용 되지 않습니다.

virtual int Escape(
    int nEscape,
    int nCount,
    LPCSTR lpszInData,
    LPVOID lpOutData);

int Escape(
    int nEscape,
    int nInputSize,
    LPCSTR lpszInputData,
    int nOutputSize,
    LPSTR lpszOutputData);

매개 변수

nEscape
수행할 이스케이프 함수를 지정 합니다.

이스케이프 함수의 전체 목록은 참조 하세요 이스케이프 Windows SDK에 있습니다.

nCount
가리키는 데이터의 바이트 수를 지정 lpszInData합니다.

lpszInData
이 이스케이프 하는 데 필요한 입력된 데이터 구조체를 가리킵니다.

lpOutData
이 이스케이프에서 출력을 수신 하는 구조를 가리킵니다. 합니다 lpOutData 데이터가 반환 되지 않을 경우 매개 변수는 NULL입니다.

nInputSize
가리키는 데이터의 바이트 수를 지정 합니다 lpszInputData 매개 변수입니다.

lpszInputData
지정 된 이스케이프 하는 데 필요한 입력된 구조를 가리킵니다.

nOutputSize
가리키는 데이터의 바이트 수를 지정 합니다 lpszOutputData 매개 변수입니다.

lpszOutputData
이 이스케이프에서 출력을 수신 하는 구조체를 가리킵니다. 이 매개 변수는 반환 된 데이터가 없을 경우 NULL 이어야 합니다.

반환 값

양수 값을 함수에만 구현에 대 한 확인 QUERYESCSUPPORT 이스케이프를 제외 하 고 성공 하는 경우 반환 됩니다. 이스케이프 구현 되지 않은 경우 0이 반환 됩니다. 음수 값은 오류가 발생 한 경우 반환 됩니다. 다음은 일반적인 오류 값입니다.

  • SP_ERROR 일반 오류입니다.

  • SP_OUTOFDISK 없습니다 스풀링에 대 한 현재 사용 가능한 디스크 공간이 충분 하 고 공간이 더 이상 없습니다를 사용할 수 있게 됩니다.

  • SP_OUTOFMEMORY 없습니다 스풀링을 위해 사용 가능한 메모리가 부족 합니다.

  • SP_USERABORT 사용자 인쇄 관리자를 통해 작업을 종료 합니다.

설명

원래 프린터 이스케이프를만 QUERYESCSUPPORT Win32 응용 프로그램에 대 한 지원 됩니다. 다른 모든 프린터 이스케이프는 사용 되지 않으며 16 비트 응용 프로그램과 호환성을 위해서만 지원 됩니다.

Win32 프로그래밍에 대 한 CDC 이제는 해당 프린터 이스케이프를 대체 하는 6 개의 멤버 함수를 제공 합니다.

또한 CDC::GetDeviceCaps 다른 프린터 이스케이프를 대체 하는 Win32 인덱스를 지원 합니다. 참조 GetDeviceCaps 자세한 내용은 Windows SDK에 있습니다.

이 멤버 함수에는 GDI를 통해 직접 사용할 수 없는 특정 장치의 기능에 액세스 하려면 응용 프로그램이 있습니다.

응용 프로그램에서 미리 정의 된 이스케이프 값을 사용 하는 경우 첫 번째 버전을 사용 합니다. 응용 프로그램 개인 이스케이프 값을 정의 하는 경우 두 번째 버전을 사용 합니다. 참조 ExtEscape 두 번째 버전에 대 한 자세한 내용은 Windows SDK에 있습니다.

CDC::ExcludeClipRect

지정된 된 사각형에서 뺀 기존 클리핑 영역으로 구성 된 새 클리핑 영역을 만듭니다.

int ExcludeClipRect(
    int x1,
    int y1,
    int x2,
    int y2);

int ExcludeClipRect(LPCRECT lpRect);

매개 변수

x1
사각형의 왼쪽 위 모퉁이의 논리적 x 좌표를 지정합니다.

y1
사각형의 왼쪽 위 모퉁이의 논리적 y 좌표를 지정합니다.

x2
사각형의 오른쪽 아래 모퉁이의 논리적 x 좌표를 지정합니다.

y2
사각형의 오른쪽 아래 모퉁이의 논리적 y 좌표를 지정합니다.

lpRect
사각형을 지정합니다. 수도 있습니다는 CRect 개체입니다.

반환 값

새 클립 영역 유형을 지정합니다. 다음 값 중 하나일 수 있습니다.

  • 지역 COMPLEXREGION 테두리가 겹치는 있습니다.

  • 생성 된 영역 없음 오류가 발생 했습니다.

  • 지역 NULLREGION 비어 있습니다.

  • SIMPLEREGION 지역에 겹치는 테두리가 없습니다.

설명

절대 값으로 지정 된 사각형의 너비 x2 - x1, 32, 767 단위를 초과 하지 않아야 합니다. 이 한도 사각형의 높이에 적용 됩니다.

CDC::ExcludeUpdateRgn

연결 된 클립 영역에서 창의 업데이트 영역을 제외 하 여 잘못 된 창 영역 내에서 그리기를 방지 합니다 CDC 개체입니다.

int ExcludeUpdateRgn(CWnd* pWnd);

매개 변수

pWnd
해당 창이 업데이트 되는 창 개체를 가리킵니다.

반환 값

제외 된 영역의 형식입니다. 다음 값 중 하나일 수 있습니다.

  • 지역 COMPLEXREGION 테두리가 겹치는 있습니다.

  • 생성 된 영역 없음 오류가 발생 했습니다.

  • 지역 NULLREGION 비어 있습니다.

  • SIMPLEREGION 지역에 겹치는 테두리가 없습니다.

CDC::ExtFloodFill

현재 브러시를 사용 하 여 디스플레이 화면의 영역을 채웁니다.

BOOL ExtFloodFill(
    int x,
    int y,
    COLORREF crColor,
    UINT nFillType);

매개 변수

x
채우기가 시작 되는 요소의 논리적 x 좌표를 지정 합니다.

y
채우기가 시작 되는 지점의 논리적 y 좌표를 지정 합니다.

crColor
경계 또는 채울 영역 색을 지정 합니다. 해석은 crColor 의 값에 따라 달라 집니다 nFillType합니다.

nFillType
수행할 flood 채우기의 유형을 지정 합니다. 다음 값 중 하나 여야 합니다.

  • 지정 되는 색으로 채우기 영역에 제한 된 FLOODFILLBORDER crColor합니다. 이 스타일은 수행한 가득 동일 FloodFill합니다.

  • 채우기 영역이 지정 되는 색을 정의한 FLOODFILLSURFACE crColor합니다. 채우기 색 발생으로 모든 방향에서 바깥쪽으로 계속 됩니다. 이 스타일은 다양 한 색상된 경계를 사용 하 여 영역을 채우는 데 유용 합니다.

반환 값

함수에 성공 하면 0이 아닌 값 채우기를 완료할 수 없습니다, 지정 된 경계에 있는 경우 0이 고 그렇지 지정 되는 색 crColor (경우 FLOODFILLBORDER 요청한), 지정된 된 지점에 지정 되는 색이 없는 경우 crColor (경우 FLOODFILLSURFACE 요청) 또는 포인터가 잘림 영역 밖에 있는 경우.

설명

이 멤버 함수 보다 더 많은 유연성을 제공 FloodFill 의 채우기 형식을 지정할 수 있으므로 nFillType합니다.

하는 경우 nFillType 설정할지 FLOODFILLBORDER에 영역을 완전히 지정 되는 색으로 제한 되어야로 간주 됩니다 crColor합니다. 함수에서 지정 된 지점에서 시작 x 하 고 y 색 경계에 모든 방향으로 채웁니다.

경우 nFillType 설정할지 FLOODFILLSURFACE에 함수에서 지정 된 지점에서 시작 x 하 고 y 모든 인접 한 영역을 채우는 모든 방향으로 계속 지정 된 색이 포함 된 crColor합니다.

전용 메모리 장치 컨텍스트 및 래스터 디스플레이 기술 지원을 지 원하는 장치 ExtFloodFill합니다. 자세한 내용은 참조는 GetDeviceCaps 멤버 함수입니다.

CDC::ExtTextOut

현재 선택된 된 글꼴을 사용 하 여 사각형 영역 내의 문자열을 작성 하려면이 멤버 함수를 호출 합니다.

virtual BOOL ExtTextOut(
    int x,
    int y,
    UINT nOptions,
    LPCRECT lpRect,
    LPCTSTR lpszString,
    UINT nCount,
    LPINT lpDxWidths);

BOOL ExtTextOut(
    int x,
    int y,
    UINT nOptions,
    LPCRECT lpRect,
    const CString& str,
    LPINT lpDxWidths);

매개 변수

x
지정된 된 문자열의 첫 번째 문자의 문자 셀의 논리적 x 좌표를 지정합니다.

y
지정된 된 문자열의 첫 번째 문자의 문자 셀 맨 논리적 y 좌표를 지정합니다.

nOptions
사각형 형식을 지정합니다. 이 매개 변수 하나, 둘 다 또는 다음 값 중 둘 다를 수 있습니다.

  • ETO_CLIPPED 사각형 잘린 텍스트를 지정 합니다.

  • 현재 배경색을 사각형을 채우는 ETO_OPAQUE 지정 합니다. (설정 하 고 사용 하 여 현재 배경색을 쿼리할 수 있습니다 합니다 SetBkColor 하 고 GetBkColor 멤버 함수입니다.)

lpRect
가리키는 RECT 사각형의 크기를 결정 하는 구조체입니다. 이 매개 변수는 NULL 일 수 있습니다. 전달할 수도 있습니다는 CRect 이 매개 변수에 대 한 개체입니다.

lpszString
그릴 수 있도록 지정 된 문자열을 가리킵니다. 전달할 수도 있습니다는 CString 이 매개 변수에 대 한 개체입니다.

nCount
문자열에 있는 문자의 수를 지정합니다.

lpDxWidths
인접 문자 셀의 원본 사이의 거리를 나타내는 값의 배열 가리킵니다. 예를 들어 lpDxWidths있나요] 논리 단위 구분할 문자 셀의 원본 있나요 과 문자 셀 i + 1입니다. 하는 경우 lpDxWidths 가 null 인 경우 ExtTextOut 자 사이의 기본 간격을 사용 합니다.

str
CString 그릴 지정된 된 문자를 포함 하는 개체입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

사각형 영역의 수 불투명 (현재 배경색으로 채워짐) 및 클리핑 영역 수 있습니다.

하는 경우 nOptions 은 0 및 lpRect 가 null 인 경우 함수는 사각형 영역을 사용 하지 않고 장치 컨텍스트에 텍스트를 씁니다. 기본적으로 현재 위치는 함수에 의해 사용 또는 업데이트되지 않습니다. 응용 프로그램을 호출할 때 현재 위치를 업데이트 해야 하는 경우 ExtTextOut, 응용 프로그램에서 호출할 수는 CDC 멤버 함수 SetTextAlign 사용 하 여 nFlags TA_UPDATECP로 설정 합니다. 이 플래그를 설정 하는 경우 Windows에서 무시 x 및 y 후속 호출에서 ExtTextOut 현재 위치를 대신 사용 합니다. 응용 프로그램에서 현재 위치를 업데이트 하려면 TA_UPDATECP를 사용 하는 경우 ExtTextOut 가 가리키는 배열의 마지막 요소에 의해 지정 된 위치 또는 이전 텍스트 줄의 끝에 현재 위치 설정 lpDxWidths, 더 큰 쪽입니다.

CDC::FillPath

현재 경로에 모든 열린 그림 닫히고 현재 브러시 및 다각형 채우기 모드를 사용 하 여 경로의 내부를 채웁니다.

BOOL FillPath();

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 개체 내부의 입력 한 후 경로 장치 컨텍스트에서 삭제 됩니다.

CDC::FillRect

지정 된 브러시를 사용 하 여 지정 된 사각형에 맞게이 멤버 함수를 호출 합니다.

void FillRect(
    LPCRECT lpRect,
    CBrush* pBrush);

매개 변수

lpRect
가리키는 RECT 채울 사각형의 논리적 좌표를 포함 하는 구조입니다. 전달할 수도 있습니다는 CRect 이 매개 변수에 대 한 개체입니다.

pBrush
사각형을 채우는 데 사용 되는 브러시를 식별 합니다.

설명

함수 왼쪽 및 위쪽 테두리를 비롯 한 전체 사각형을 채우는 있지만 오른쪽 및 아래쪽 테두리를 채우지 않습니다.

브러시 필요를 사용 하 여 만들어야 합니다 CBrush 멤버 함수 CreateHatchBrush에 CreatePatternBrush, 및 CreateSolidBrush, 검색 또는 GetStockObject Windows 함수입니다.

지정된 된 사각형을 채울 때 FillRect 사각형의 오른쪽 및 아래쪽 면을 다루지 않습니다. GDI에 사각형을 채우는 되지만 오른쪽 열 및 맨 아래 행을 현재 매핑 모드에 관계 없이 포함 되지 않습니다. FillRect 값을 비교 합니다 topbottom를 left, 및 right 지정된 된 사각형의 멤버입니다. 하는 경우 bottom 보다 작거나 같음 top, 또는 right 보다 작거나 같음 left, 사각형을 그리지 않습니다.

FillRect 비슷합니다 CDC::FillSolidRect그러나 FillRect 브러시를 받아서 하므로 단색, 디더링된 색, 빗금된 브러시 또는 패턴을 사용 하 여 사각형을 채우는 데 사용할 수 있습니다. FillSolidRect 단색만 (COLORREF 매개 변수로 표시 됨)를 사용 합니다. FillRect일반적으로 더 느려지므로 FillSolidRect합니다.

CDC::FillRgn

지정 된 지역 채웁니다 pRgn 로 지정 된 브러시를 사용 하 여 pBrush합니다.

BOOL FillRgn(
    CRgn* pRgn,
    CBrush* pBrush);

매개 변수

pRgn
채워질 영역에 대 한 포인터입니다. 지정된 된 영역에 대 한 좌표를 논리 단위로 지정 됩니다.

pBrush
영역을 채우는 데 사용할 브러시를 식별 합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

브러시 중 하나 사용 하 여 만들어야 합니다 CBrush 멤버 함수 CreateHatchBrushCreatePatternBrushCreateSolidBrush, 하 여 검색할 수 또는 GetStockObject.

예제

예를 참조 하세요 CRgn::CreateRoundRectRgn합니다.

CDC::FillSolidRect

지정 된 단색을 사용 하 여 지정된 된 사각형에 맞게이 멤버 함수를 호출 합니다.

void FillSolidRect(
    LPCRECT lpRect,
    COLORREF clr);

void FillSolidRect(
    int x,
    int y,
    int cx,
    int cy,
    COLORREF clr);

매개 변수

lpRect
(논리 단위)의 경계 사각형을 지정 합니다. 에 대 한 포인터를 전달할 수 있습니다는 RECT 데이터 구조 또는 CRect 이 매개 변수에 대 한 개체입니다.

clr 사각형을 채우는 데 사용할 색을 지정 합니다.

x
사각형의 왼쪽 위 모퉁이의 논리적 x 좌표를 지정합니다.

y
대상 사각형의 왼쪽 위 모퉁이의 논리적 y 좌표를 지정합니다.

cx
사각형의 너비를 지정합니다.

cy
사각형의 높이 지정합니다.

설명

FillSolidRect 매우 비슷합니다 CDC::FillRect소비량이 적어지지만 FillSolidRect 단색만 (COLORREF 매개 변수로 표시 됨) 하는 동안 사용 하 여 FillRect 브러시를 받아서 하므로 단색으로 디더링된를 사용 하 여 사각형을 채우는 데 사용할 수 있습니다 색, 빗금된 브러시 또는 패턴입니다. FillSolidRect 일반적으로 보다 빠릅니다 FillRect합니다.

 참고

호출 하는 경우 FillSolidRect를 사용 하 여 이전에 설정 된 배경 색을 SetBkColor를 나타내는 색으로 설정 됩니다 clr.

CDC::FlattenPath

현재 장치 컨텍스트로 선택 경로에 모든 곡선을 변환 하 고 각 곡선 줄의 시퀀스로 변환 합니다.

BOOL FlattenPath();

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

CDC::FloodFill

현재 브러시를 사용 하 여 디스플레이 화면의 영역을 채웁니다.

BOOL FloodFill(
    int x,
    int y,
    COLORREF crColor);

매개 변수

x
채우기가 시작 되는 요소의 논리적 x 좌표를 지정 합니다.

y
채우기가 시작 되는 지점의 논리적 y 좌표를 지정 합니다.

crColor
경계의 색을 지정 합니다.

반환 값

함수에 성공 하면 0이 아닌 값 그렇지 않은 경우 지정 된 요소에 지정 되는 경계 색 채우기를 완료할 수 없습니다, 하는 경우 0이 반환 됩니다 crColor, 또는 지점이 잘림 영역 밖에 있습니다.

설명

영역으로 제한 된 수를 지정 된 것으로 간주 됩니다 crColor합니다. FloodFill 함수에서 지정 된 지점에서 시작 x 하 고 y 색 경계에 모든 방향으로 계속 됩니다.

전용 메모리 장치 컨텍스트 및 래스터 디스플레이 기술 지원을 지 원하는 장치는 FloodFill 멤버 함수입니다. RC_BITBLT 기능에 대 한 자세한 내용은 참조는 GetDeviceCaps 멤버 함수입니다.

ExtFloodFill 함수 이지만 더 큰 유연성과 비슷한 기능을 제공 합니다.

CDC::FrameRect

지정 된 영역 주위에 테두리를 그립니다 lpRect합니다.

void FrameRect(
    LPCRECT lpRect,
    CBrush* pBrush);

매개 변수

lpRect
가리키는 RECT 구조 또는 CRect 사각형의 왼쪽 및 오른쪽 아래 모퉁이의 논리적 좌표를 포함 하는 개체입니다. 전달할 수도 있습니다는 CRect 이 매개 변수에 대 한 개체입니다.

pBrush
사각형을 프레이밍에 사용 되는 브러시를 식별 합니다.

설명

함수는 지정 된 브러시를 사용 하 여 테두리를 그리는 합니다. 테두리의 높이 너비는 항상 1 논리 단위입니다.

경우 사각형의 bottom 좌표 보다 작거나 같음 top, 또는 right 보다 작거나 같음 left, 사각형을 그리지 않습니다.

그린 테두리 FrameRect 그린 테두리와 동일한 위치에는 Rectangle 같은 좌표를 사용 하 여 멤버 함수 (경우 Rectangle 와이드 1 논리 단위는 펜을 사용 하 여). 사각형의 내부에서 채워지지 않습니다 FrameRect합니다.

CDC::FrameRgn

지정 된 영역을 둘러싸는 테두리를 그립니다 pRgn 로 지정 된 브러시를 사용 하 여 pBrush합니다.

BOOL FrameRgn(
    CRgn* pRgn,
    CBrush* pBrush,
    int nWidth,
    int nHeight);

매개 변수

pRgn
가리키는 CRgn 테두리 묶어야 영역을 식별 하는 개체입니다. 지정된 된 영역에 대 한 좌표를 논리 단위로 지정 됩니다.

pBrush
가리키는 CBrush 테두리를 그리는 데 사용할 브러시를 식별 하는 개체입니다.

nWidth
장치 단위에서 세로 브러시 스트로크에 테두리의 두께 지정합니다.

nHeight
장치 단위에서 가로 브러시 스트로크에 테두리의 높이 지정합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

예제

예를 참조 하세요 CRgn::CombineRgn합니다.

CDC::FromHandle

에 대 한 포인터를 반환 합니다.는 CDC 장치 컨텍스트에 대 한 핸들을 지정 하는 경우 개체입니다.

static CDC* PASCAL FromHandle(HDC hDC);

매개 변수

hDC
Windows 장치 컨텍스트에 대 한 핸들을 포함합니다.

반환 값

포인터가 임시 일 수 있습니다 하 고 즉시 사용 초과 저장 되어야 합니다.

설명

CDC 개체가 핸들에 연결되지 않은 경우 임시 CDC 개체를 만들어 연결합니다.

예제

예를 참조 하세요 CPrintDialog::GetPrinterDC합니다.

CDC::GetArcDirection

장치 컨텍스트에 대 한 현재 호 방향을 반환합니다.

int GetArcDirection() const;

반환 값

성공 하면 현재 호 방향을 지정 합니다. 다음은 유효한 반환 값입니다.

  • AD_COUNTERCLOCKWISE 원호 및 시계 반대 방향으로 그린 사각형입니다.

  • AD_CLOCKWISE 원호 및 시계 방향으로 그린 사각형입니다.

오류가 발생 하는 경우 반환 값은 0입니다.

설명

호 및 사각형 함수 호 방향을 사용합니다.

CDC::GetAspectRatioFilter

현재 가로 세로 비율 필터에 대 한 설정을 검색합니다.

CSize GetAspectRatioFilter() const;

반환 값

CSize 현재 가로 세로 비율 필터에 의해 사용 되는 가로 세로 비율을 나타내는 개체입니다.

설명

가로 세로 비율에 장치의 픽셀 너비와 높이 형성 된 비율입니다. 장치의 가로 세로 비율에 대 한 정보를 생성, 선택 및 글꼴의 표시에 사용 됩니다. Windows에는 특수 필터로, 모든 사용 가능한 글꼴에서 특정 가로 세로 비율을 위한 글꼴을 선택 하는 가로 세로 비율 필터를 제공 합니다. 필터를 사용 하 여 지정 된 가로 세로 비율을 SetMapperFlags 멤버 함수입니다.

CDC::GetBkColor

현재 배경색을 반환합니다.

COLORREF GetBkColor() const;

반환 값

RGB 색 값입니다.

설명

백그라운드 모드 불투명 한 경우 시스템 스타일의 줄 간격, 브러시의 빗살 무늬 줄과 문자 셀의 배경을 간의 간격을 채울 배경색을 사용 합니다. 또한 시스템 색 및 흑백 장치 컨텍스트 간에 비트맵으로 변환 하는 경우 배경색을 사용 합니다.

CDC::GetBkMode

백그라운드 모드를 반환합니다.

int GetBkMode() const;

반환 값

현재 배경 모드: 불투명 또는 투명 수 있습니다.

설명

백그라운드 모드 시스템 텍스트, 빗금된 브러시 또는 펜 스타일 실선이 표시 되지 않은 그리기 전에 기존 배경색 그리기 화면에서 제거 되는지 여부를 정의 합니다.

CDC::GetBoundsRect

지정 된 장치 컨텍스트에 대 한 현재 누적 된 경계 사각형을 반환합니다.

UINT GetBoundsRect(
    LPRECT lpRectBounds,
    UINT flags);

매개 변수

lpRectBounds
현재 경계 사각형을 받을 버퍼를 가리킵니다. 사각형을 논리적 좌표로 반환 됩니다.

flags
경계 사각형을 반환 된 후 지울 수 있는지 여부를 지정 합니다. 이 매개 변수 0 이거나 다음 값으로 설정 해야 합니다.

  • DCB_RESET 반환 된 후 제거할 경계 사각형을 강제로 수행 합니다.

반환 값

함수에 성공 하는 경우에 경계 사각형의 현재 상태를 지정 합니다. 다음 값의 조합 수 있습니다.

  • DCB_ACCUMULATE 경계 사각형 누적 발생 합니다.

  • DCB_RESET 경계 사각형은 비어 있습니다.

  • DCB_SET 경계 사각형에 비어 있지 않습니다.

  • 누적 DCB_ENABLE 경계 켜져 있습니다.

  • 누적 DCB_DISABLE 경계 해제 되어 있습니다.

CDC::GetBrushOrg

장치 컨텍스트에 대 한 현재 선택 된 브러시의 원점을 장치 단위로 검색 합니다.

CPoint GetBrushOrg() const;

반환 값

현재 원본으로 장치 단위로 브러시의 한 CPoint 개체입니다.

설명

초기 브러시 원점 (0, 0)를 클라이언트 영역입니다. 반환 값은 데스크톱 창의 원점 기준으로 장치 단위로이 시점을 지정합니다.

CDC::GetCharacterPlacement

다양 한 유형의 문자열에 대 한 정보를 검색합니다.

DWORD GetCharacterPlacement(
    LPCTSTR lpString,
    int nCount,
    int nMaxExtent,
    LPGCP_RESULTS lpResults,
    DWORD dwFlags) const;

DWORD GetCharacterPlacement(
    CString& str,
    int nMaxExtent,
    LPGCP_RESULTS lpResults,
    DWORD dwFlags) const;

매개 변수

lpString
처리 하는 데 문자열 포인터입니다.

nCount
문자열의 길이 지정합니다. ANSI 버전의 경우 바이트 수 이며 유니코드 함수에 대 한 단어 개수입니다. 자세한 내용은 GetCharacterPlacement합니다.

nMaxExtent
문자열 처리 됩니다 (논리 단위)에서 최대 범위를 지정 합니다. 처리 하는 경우이 범위를 기준으로 초과 하는 문자는 무시 됩니다. 모든 필요한 주문 또는 문자 모양 배열에 대 한 계산이 포함된 된 문자에만 적용 됩니다. 이 매개 변수는 GCP_MAXEXTENT 값에 지정 된 경우에 사용 합니다 dwFlags 매개 변수입니다. 입력된 문자열을 처리 하는 함수, 각 문자와 그 범위가 추가 됩니다 출력, 범위 내에서 다른 배열 하 고 총 범위가 아직 최대값을 초과 하지 않은 경우에. 제한에 도달 처리가 중지 됩니다.

lpResults
에 대 한 포인터를 GCP_Results 함수의 결과 수신 하는 구조입니다.

dwFlags
필요한 배열에 문자열을 처리 하는 방법을 지정 합니다. 이 매개 변수 하나만 수 또는 더 많은 값에 나열 된를 dwFlags 섹션을 GetCharacterPlacement 항목.

str
에 대 한 포인터를 CString 프로세스 개체입니다.

반환 값

함수가 성공 하면 반환 값은 너비와 높이 논리 단위에 있는 문자열입니다.

함수가 실패하면 반환 값은 0입니다.

설명

이 멤버 함수는 함수의 기능을 에뮬레이트합니다 GetCharacterPlacementWindows SDK에 설명 된 대로 합니다.

CDC::GetCharABCWidths

현재 트루타입 글꼴에서 지정된 된 범위에 연속 된 문자 너비를 검색합니다.

BOOL GetCharABCWidths(
    UINT nFirstChar,
    UINT nLastChar,
    LPABC lpabc) const;

BOOL GetCharABCWidths(
    UINT nFirstChar,
    UINT nLastChar,
    LPABCFLOAT lpABCF) const;

매개 변수

nFirstChar
문자 너비 반환 되는 현재 글꼴에서 문자 범위에서 첫 번째 문자를 지정 합니다.

nLastChar
문자 너비 반환 되는 현재 글꼴에서 문자 범위의 마지막 문자를 지정 합니다.

lpabc
배열을 가리킵니다 ABC 함수가 반환할 때 문자 너비를 수신 하는 구조입니다. 이 배열은 만큼 이상 포함 해야 합니다 ABC 구조에서 지정 된 범위의 문자 수 만큼 합니다 nFirstChar 하 고 nLastChar 매개 변수.

lpABCF
배열 사용 하 여 응용 프로그램에서 제공한 버퍼를 가리키는 ABCFLOAT 함수가 반환할 때 문자 너비를 수신 하는 구조입니다. 이 함수에서 반환 하 고 너비는 IEEE 부동 소수점 형식입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

너비를 논리 단위로 반환 됩니다. 이 함수는 트루타입 글꼴에만 성공합니다.

트루타입 래스터 라이저 특정 포인트 크기를 선택한 후에 "ABC" 문자 간격을 제공 합니다. "A" 간격에는 문자 모양 배치 하기 전에 현재 위치에 추가 되는 거리입니다. "B" 간격에는 문자 모양 검정 부분의 너비입니다. "C" 간격이 기호의 오른쪽에 공백에 대 한 계정에 현재 위치에 추가 됩니다. 고급 너비 합계를 지정 하 여 A + B + C

경우는 GetCharABCWidths 음수 "A"를 검색 하는 멤버 함수 또는 underhangs 또는 돌출부 문자를 해당 문자에 대 한 "C" 너비에 포함 되어 있습니다.

ABC 너비를 글꼴 디자인 단위로 변환할 응용 프로그램 만들어야 글꼴 높이입니다 (에 지정 된 대로 합니다 lfHeight 의 멤버는 LOGFONT 구조)에 저장 된 값과 같은 ntmSizeEM 소속 된 NEWTEXTMETRIC 구조입니다. (값을 ntmSizeEM 멤버를 호출 하 여 검색할 수는 EnumFontFamilies Windows 함수입니다.)

기본 문자 ABC 너비는 현재 선택한 글꼴의 범위 외부에 있는 문자에 사용 됩니다.

비 트루타입 글꼴의 문자 너비를 검색 하려면 응용 프로그램 사용 해야 합니다 GetCharWidth Windows 함수입니다.

CDC::GetCharABCWidthsI

논리 단위에서 현재 트루타입 글꼴을 지정된 된 범위에 연속 된 문자 모양 인덱스에 너비를 검색합니다.

BOOL GetCharABCWidthsI(
    UINT giFirst,
    UINT cgi,
    LPWORD pgi,
    LPABC lpabc) const;

매개 변수

giFirst
현재 글꼴에서 연속 된 문자 모양 인덱스의 그룹에서 첫 번째 문자 모양 인덱스를 지정합니다. 경우에이 매개 변수는 합니다 pgi 매개 변수는 NULL입니다.

cgi
문자 모양 인덱스의 수를 지정합니다.

pgi
문자 모양 인덱스를 포함 하는 배열에 대 한 포인터입니다. 값이 NULL 이면 합니다 giFirst 매개 변수 대신 사용 됩니다. 합니다 cgi 매개 변수는이 배열에 문자 모양 인덱스 수를 지정 합니다.

lpabc
배열에 대 한 포인터 ABC 문자 너비를 수신 하는 구조입니다. 이 배열은 만큼 이상 포함 해야 합니다 ABC 으로 지정 된 문자 모양 인덱스 구조는 cgi 매개 변수입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 함수의 기능을 에뮬레이트합니다 GetCharABCWidthsIWindows SDK에 설명 된 대로 합니다.

CDC::GetCharWidth

현재 글꼴에서 문자의 연속 된 그룹의 개별 문자 너비를 검색 합니다. 사용 하 여 m_hAttribDC, 입력된 장치 컨텍스트.

BOOL GetCharWidth(
    UINT nFirstChar,
    UINT nLastChar,
    LPINT lpBuffer) const;

BOOL GetCharWidth(
    UINT nFirstChar,
    UINT nLastChar,
    float* lpFloatBuffer) const;

매개 변수

nFirstChar
현재 글꼴에서 문자의 연속 된 그룹의 첫 번째 문자를 지정합니다.

nLastChar
현재 글꼴에서 문자의 연속 된 그룹의 마지막 문자를 지정합니다.

lpBuffer
현재 글꼴에서 문자의 연속 된 그룹에 대 한 너비 값을 받을 버퍼를 가리킵니다.

lpFloatBuffer
문자 너비를 받기 위한 버퍼를 가리킵니다. 반환 된 너비를 32 비트 IEEE 부동 소수점 형식으로 됩니다. (너비는 문자의 기본 선을 따라 측정 됩니다.)

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

예를 들어, 경우 nFirstChar 식별 하는 문자 'a' 및 nLastChar 모든 소문자의 너비를 'z', 함수 검색 문자를 식별 합니다.

가리키는 버퍼에 있는 값을 저장 하는 함수 lpBuffer합니다. 이 버퍼는 모든 너비를 충분히 있어야 합니다. 즉, 있어야 26 이상 항목에 제공 된 예제입니다.

연속 된 문자 그룹에 있는 문자를 특정 글꼴에 없는 경우 기본 문자 너비 값을 할당 됩니다.

CDC::GetCharWidthI

현재 글꼴에서 지정된 된 범위에 연속 된 문자 모양 인덱스의 논리적 좌표에서 너비를 검색합니다.

BOOL GetCharWidthI(
    UINT giFirst,
    UINT cgi,
    LPWORD pgi,
    LPINT lpBuffer) const;

매개 변수

giFirst
현재 글꼴에서 연속 된 문자 모양 인덱스의 그룹에서 첫 번째 문자 모양 인덱스를 지정합니다. 경우에이 매개 변수는 합니다 pgi 매개 변수는 NULL입니다.

cgi
문자 모양 인덱스의 수를 지정합니다.

pgi
문자 모양 인덱스를 포함 하는 배열에 대 한 포인터입니다. 값이 NULL 이면 합니다 giFirst 매개 변수 대신 사용 됩니다. 합니다 cgi 매개 변수는이 배열에 문자 모양 인덱스 수를 지정 합니다.

lpBuffer
너비를 받는 버퍼에 대 한 포인터입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 함수의 기능을 에뮬레이트합니다 GetCharWidthIWindows SDK에 설명 된 대로 합니다.

CDC::GetClipBox

현재 클리핑 경계 주위 tightest 경계 사각형의 크기를 검색합니다.

virtual int GetClipBox(LPRECT lpRect) const;

매개 변수

lpRect
가리키는 합니다 RECT 구조 또는 CRect 사각형 크기를 수신 하는 개체입니다.

반환 값

클리핑 영역의 형식입니다. 다음 값 중 하나일 수 있습니다.

  • COMPLEXREGION 클리핑 영역 테두리 겹치는 있습니다.

  • 오류 장치 컨텍스트가 잘못 되었습니다.

  • NULLREGION 클리핑 영역이 비어 있습니다.

  • SIMPLEREGION 클리핑 영역에 겹치는 테두리가 없습니다.

설명

차원에서 가리키는 버퍼에 복사 됩니다 lpRect합니다.

CDC::GetColorAdjustment

장치 컨텍스트에 대 한 색 조정 값을 검색합니다.

BOOL GetColorAdjustment(LPCOLORADJUSTMENT lpColorAdjust) const;

매개 변수

lpColorAdjust
가리키는 COLORADJUSTMENT 색 조정 값을 받을 데이터 구조입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

CDC::GetCurrentBitmap

현재 선택에 대 한 포인터를 반환 CBitmap 개체입니다.

CBitmap* GetCurrentBitmap() const;

반환 값

에 대 한 포인터를 CBitmap 개체를 성공 하는 경우, 그렇지 않으면 NULL입니다.

설명

이 멤버 함수는 임시 개체를 반환할 수 있습니다.

CDC::GetCurrentBrush

현재 선택에 대 한 포인터를 반환 CBrush 개체입니다.

CBrush* GetCurrentBrush() const;

반환 값

에 대 한 포인터를 CBrush 개체를 성공 하는 경우, 그렇지 않으면 NULL입니다.

설명

이 멤버 함수는 임시 개체를 반환할 수 있습니다.

CDC::GetCurrentFont

현재 선택에 대 한 포인터를 반환 CFont 개체입니다.

CFont* GetCurrentFont() const;

반환 값

에 대 한 포인터를 CFont 개체를 성공 하는 경우, 그렇지 않으면 NULL입니다.

설명

이 멤버 함수는 임시 개체를 반환할 수 있습니다.

CDC::GetCurrentPalette

현재 선택에 대 한 포인터를 반환 CPalette 개체입니다.

CPalette* GetCurrentPalette() const;

반환 값

에 대 한 포인터를 CPalette 개체를 성공 하는 경우, 그렇지 않으면 NULL입니다.

설명

이 멤버 함수는 임시 개체를 반환할 수 있습니다.

CDC::GetCurrentPen

현재 선택에 대 한 포인터를 반환 CPen 개체입니다.

CPen* GetCurrentPen() const;

반환 값

에 대 한 포인터를 CPen 개체를 성공 하는 경우, 그렇지 않으면 NULL입니다.

설명

이 멤버 함수는 임시 개체를 반환할 수 있습니다.

CDC::GetCurrentPosition

(논리적 좌표로)의 현재 위치를 검색합니다.

CPoint GetCurrentPosition() const;

반환 값

현재 위치를 CPoint 개체입니다.

설명

현재 위치를 사용 하 여 설정할 수는 MoveTo 멤버 함수입니다.

CDC::GetDCBrushColor

현재 브러시 색을 검색합니다.

COLORREF GetDCBrushColor() const;

반환 값

함수가 성공할 경우 반환 값은는 COLORREF 현재 브러시 색에 대 한 값입니다.

함수가 실패 한 경우 반환 값은 CLR_INVALID 합니다.

설명

이 멤버 함수는 함수의 기능을 에뮬레이트합니다 GetDCBrushColorWindows SDK에 설명 된 대로 합니다.

CDC::GetDCPenColor

현재 펜 색을 검색합니다.

COLORREF GetDCPenColor() const;

반환 값

함수가 성공할 경우 반환 값은는 COLORREF 현재 펜 색에 대 한 값입니다.

함수가 실패 한 경우 반환 값은 CLR_INVALID 합니다.

설명

이 멤버 함수는 Win32 함수를 활용 GetDCPenColorWindows SDK에 설명 된 대로 합니다.

CDC::GetDeviceCaps

다양 한 디스플레이 장치에 대 한 장치 특정 정보를 검색합니다.

int GetDeviceCaps(int nIndex) const;

매개 변수

nIndex
반환할 정보의 유형을 지정 합니다. 참조 GetDeviceCaps 값의 목록을 Windows SDK에 있습니다.

반환 값

함수에 성공 하는 경우 요청 된 기능의 값입니다.

예제

예를 참조 하세요 CPrintDialog::GetDefaults합니다.

CDC::GetFontData

확장 가능한 글꼴 파일에서 글꼴 메트릭 정보를 검색합니다.

DWORD GetFontData(
    DWORD dwTable,
    DWORD dwOffset,
    LPVOID lpData,
    DWORD cbData) const;

매개 변수

dwTable
반환할 메트릭 테이블의 이름을 지정 합니다. 이 매개 변수는 Microsoft Corporation에서 게시 한 TrueType 글꼴 파일 사양에 설명 된 메트릭 테이블 중 하나일 수 있습니다. 이 매개 변수가 0 인 경우 글꼴 파일의 시작 부분부터 정보가 검색 됩니다.

dwOffset
정보 검색을 시작 하는 테이블의 처음부터 오프셋을 지정 합니다. 이 매개 변수가 0 이면 정보로 지정한 테이블의 처음부터 검색 되는 dwTable 매개 변수입니다. 이 값이 테이블의 크기 보다 크거나 GetFontData 0을 반환 합니다.

lpData
글꼴 정보를 받을 버퍼를 가리킵니다. 이 값이 NULL 이면 하는 경우이 함수에 지정 된 글꼴 데이터에 필요한 버퍼의 크기를 반환 합니다 dwTable 매개 변수입니다.

cbData
정보를 검색할 바이트의 길이 지정 합니다. 이 매개 변수가 0 이면 GetFontData 에 지정 된 데이터의 크기를 반환 합니다 dwTable 매개 변수입니다.

반환 값

가리키는 버퍼에 반환 된 바이트 수를 지정 lpData 함수가 성공할 경우-1을 반환 합니다.

설명

검색할 정보를 반환할 정보의 길이 글꼴 파일에 오프셋을 지정 하 여 식별 됩니다.

응용 프로그램을 사용할 경우에 따라 수는 GetFontData 멤버 함수는 문서에 트루타입 글꼴을 저장 합니다. 이렇게 하려면 응용 프로그램이 있는지 여부를 확인 글꼴 포함 될 수 있습니다 다음 전체 글꼴 파일을 검색에 대해 0을 지정 하는 dwTable를 dwOffset, 및 cbData매개 변수입니다.

응용 프로그램을 확인 하 여 글꼴을 포함할 수 있는지 여부를 확인할 수는 otmfsType 의 멤버는 OUTLINETEXTMETRIC 구조입니다. 경우 1 비트가 otmfsType 설정 글꼴 포함을 허용 되지 않습니다. 1 비트가 지우기 인 경우에 글꼴을 포함할 수 있습니다. 2 비트가 설정 된 경우 포함 하는 읽기 전용입니다.

응용 프로그램을 비 트루타입 글꼴에 대 한 정보를 검색 하려면이 함수를 사용 하는 경우는 GetFontData 멤버 함수는-1을 반환 합니다.

CDC::GetFontLanguageInfo

지정 된 표시 컨텍스트에 대 한 현재 선택된 된 글꼴에 대 한 정보를 반환합니다.

DWORD GetFontLanguageInfo() const;

반환 값

반환 값은 현재 선택한 글꼴의 특성을 식별합니다. 가능한 값의 전체 목록은 참조 하세요 GetFontLanguageInfo합니다.

설명

이 멤버 함수는 함수의 기능을 에뮬레이트합니다 GetFontLanguageInfoWindows SDK에 설명 된 대로 합니다.

CDC::GetGlyphOutline

개요 곡선 또는 현재 글꼴에는 윤곽선 문자에 대 한 비트맵을 검색합니다.

DWORD GetGlyphOutline(
    UINT nChar,
    UINT nFormat,
    LPGLYPHMETRICS lpgm,
    DWORD cbBuffer,
    LPVOID lpBuffer,
    const MAT2* lpmat2) const;

매개 변수

nChar
정보는 반환 될 문자를 지정 합니다.

nFormat
함수 정보를 반환 하는 형식을 지정 합니다. 다음 값 중 하나 또는 0 수 있습니다.

의미
GGO_BITMAP문자 모양 비트맵을 반환합니다. 반환 되 면 함수에서 가리키는 버퍼 lpBuffer 더블 워드 경계에 행이 있는 시작 픽셀당 1 비트 비트맵을 포함 합니다.
GGO_NATIVE래스터 라이저의 네이티브 형식으로 장치 단위를 사용 하 여 곡선 데이터 요소를 반환 합니다. 모든 변환에 지정 된이 값을 지정 하는 경우 lpmat2 무시 됩니다.

경우 값 nFormat 가 0 이면 함수 입력을 GLYPHMETRICS 구조체 하지만 문자 윤곽선 데이터를 반환 하지 않습니다.

lpgm
문자 셀에 있는 문자 모양의 위치를 설명 하는 GLYPHMETRICS 구조체를 가리킵니다.

cbBuffer
함수 개요 문자 정보를 복사 하는 버퍼의 크기를 지정 합니다. 이 값이 0 이면 하며 nFormat 매개 변수는 GGO_BITMAP 또는 GGO_NATIVE 값을 필요한 버퍼 크기를 반환 합니다.

lpBuffer
함수 개요 문자 정보를 복사 하는 버퍼를 가리킵니다. 하는 경우 nFormat GGO_NATIVE 값을 지정 TTPOLYGONHEADER 및 TTPOLYCURVE 구조 형태로 정보 복사 됩니다. 이 값이 NULL 이면 하 고 nFormat GGO_BITMAP 또는 GGO_NATIVE 값이 필요한 버퍼 크기를 반환 합니다.

lpmat2
가리키는 MAT2 문자에 대 한 변형 매트릭스를 포함 하는 구조입니다. 이 매개 변수 GGO_NATIVE 값을 지정 하는 경우에 NULL 일 수 없습니다 nFormat합니다.

반환 값

경우에 검색된 된 정보에 필요한 버퍼를 바이트 단위로 크기 cbBuffer 은 0 또는 lpBuffer NULL입니다. 그렇지 않을 경우 양수 값을 함수에 성공 하면 오류가 발생 하는 경우-1을 반환 합니다.

설명

응용 프로그램에서 가리키는 구조에 2-2 변형 매트릭스를 지정 하 여 비트맵 형식으로 검색 하는 문자를 회전 시킬 수 있습니다 lpmat2합니다.

문자 모양의 윤곽 일련 윤곽의으로 반환 됩니다. 각 윤곽선에 의해 정의 됩니다는 TTPOLYGONHEADER 만큼 뒤에 구조 TTPOLYCURVE설명 하는 데 필요한 구조체입니다. 모든 지점으로 반환 됩니다 POINTFX 구조 및 절대 위치에 상대적이 지 않고 이동 나타냅니다. 시작 지점으로 지정 합니다 pfxStart 의 멤버는 TTPOLYGONHEADER 구조 윤곽선에 대 한 개요는 시작 지점입니다. 합니다 TTPOLYCURVE다중선 레코드 또는 스플라인 레코드를 수행 하는 구조 일 수 있습니다. 다중선 레코드는 일련의 점으로; 요소 간에 그려지는 선은 문자 윤곽선을 설명 합니다. 스플라인 레코드 트루타입 (즉, 정방형 b-스플라인)에서 사용 하는 정방형 곡선을 나타냅니다.

CDC::GetGraphicsMode

지정 된 장치 컨텍스트에 대 한 현재 그래픽 모드를 검색합니다.

int GetGraphicsMode() const;

반환 값

성공 시 현재 그래픽 모드를 반환합니다. 이 메서드가 반환할 수 있는 값의 목록을 참조 하세요 GetGraphicsMode합니다.

그렇지 않으면 0을 반환합니다.

확장 오류 정보를 가져오기, 호출 GetLastError합니다.

설명

이 메서드는 Windows GDI 함수를 래핑합니다 GetGraphicsMode합니다.

CDC::GetHalftoneBrush

하프톤 브러시를 검색 하려면이 멤버 함수를 호출 합니다.

static CBrush* PASCAL GetHalftoneBrush();

반환 값

에 대 한 포인터를 CBrush 성공 하면 NULL 개체입니다.

설명

하프톤 브러시 색을 나타내는 또는 전경색 및 배경색 디더링된 패턴을 만들려면 픽셀을 보여 줍니다. 다음은 하프톤 브러시 만든 디더링된 패턴의 예입니다.

디더링된의 세부 정보

CDC::GetKerningPairs

지정 된 디바이스 컨텍스트에서 현재 선택 된 글꼴에 대 한 쌍 커닝 문자를 검색 합니다.

int GetKerningPairs(
    int nPairs,
    LPKERNINGPAIR lpkrnpair) const;

매개 변수

nPairs
개수를 지정 KERNINGPAIR 가리키는 구조 lpkrnpair합니다. 함수는 지정한 것 보다 자세한 커닝 쌍을 복사 하지 않습니다 nPairs합니다.

lpkrnpair
배열을 가리키는 KERNINGPAIR 커닝을 수신 하는 구조 쌍 함수에서 반환 합니다. 이 배열에 지정 된 대로 이상의 구조를 포함 해야 합니다 nPairs합니다. 이 매개 변수가 NULL 인 경우 함수는 커닝 글꼴에 대 한 쌍의 총 수를 반환 합니다.

반환 값

함수에 성공 하는 경우 커닝 검색 하는 쌍의 수 또는 글꼴 영어만의 총 수를 지정 합니다. 함수가 실패할 경우 글꼴 커닝 쌍이 없습니다 0이 반환 됩니다.

CDC::GetLayout

텍스트 및 메타 파일 또는 프린터와 같은 장치 컨텍스트에 대 한 그래픽 레이아웃을 결정 하려면이 멤버 함수를 호출 합니다.

DWORD GetLayout() const;

반환 값

성공 하면 현재 장치 컨텍스트에 대 한 레이아웃 플래그입니다. 그렇지 않으면 GDI_ERROR 합니다. 확장된 오류 정보에 대 한 호출 GetLastError합니다. 레이아웃 플래그 목록은 참조 하세요 CDC::SetLayout합니다.

설명

기본 레이아웃에 대 한 왼쪽에서 오른쪽입니다.

CDC::GetMapMode

현재 매핑 모드를 검색합니다.

int GetMapMode() const;

반환 값

매핑 모드입니다.

설명

매핑 모드에 대 한 참조를 SetMapMode 멤버 함수입니다.

 참고

호출 하는 경우 SetLayout DC 오른쪽에서 왼쪽 레이아웃을 변경 하려면 SetLayout MM_ISOTROPIC 매핑 모드를 자동으로 변경 합니다. 따라서 모든 후속 호출 GetMapMode MM_ISOTROPIC를 반환 합니다.

CDC::GetMiterLimit

장치 컨텍스트에 대 한 마이터 한계를 반환합니다.

float GetMiterLimit() const;

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

마이터 한계는 기하학적 선 그리기 마이터 조인 하는 경우에 사용 됩니다.

CDC::GetNearestColor

지정한 논리 색에 가장 잘 맞는 단색을 나타내는 반환 합니다.

COLORREF GetNearestColor(COLORREF crColor) const;

매개 변수

crColor
일치 시킬 색을 지정 합니다.

반환 값

견고한을 정의 하는 RGB (빨강, 녹색, 파랑) 색 값에 가장 가까운 색을 crColor 장치를 나타낼 수 있는 값입니다.

설명

지정된 된 장치를 나타내는이 색이 있어야 합니다.

CDC::GetOutlineTextMetrics

트루타입 글꼴에 대 한 메트릭 정보를 검색합니다.

UINT GetOutlineTextMetrics(
    UINT cbData,
    LPOUTLINETEXTMETRIC lpotm) const;

매개 변수

lpotm
배열을 가리킵니다 OUTLINETEXTMETRIC 구조입니다. 이 매개 변수가 NULL 인 경우 함수는 검색된 된 메트릭 데이터에 필요한 버퍼의 크기를 반환 합니다.

cbData
정보를 반환 하는 버퍼를 바이트 단위로 크기를 지정 합니다.

lpotm
가리키는 OUTLINETEXTMETRIC 구조입니다. 이 매개 변수가 NULL 인 경우 함수는 검색된 된 메트릭 정보에 대 한 필요한 버퍼의 크기를 반환 합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

OUTLINETEXTMETRIC 트루타입 형식을 사용 하 여 제공 된 글꼴 메트릭 정보의 대부분을 포함 하는 구조 포함을 TEXTMETRIC 구조입니다. 마지막 4 멤버는 OUTLINETEXTMETRIC 구조는 문자열에 대 한 포인터입니다. 응용 프로그램의 다른 멤버에 필요한 공간 외에도 이러한 문자열에 대 한 공간을 할당 해야 합니다. 메모리를 할당 하는 가장 간단한 방법은 NULL을 지정 하 여 필요한 크기를 검색 하는 문자열의 크기를 시스템 관련 제한 제한이 없으므로 lpotm 첫 번째 호출에서는 GetOutlineTextMetrics 함수입니다.

CDC::GetOutputCharWidth

출력 장치 컨텍스트를 사용 하 여 m_hDC, 현재 글꼴에서 문자의 연속 된 그룹의 개별 문자 너비를 검색 합니다.

BOOL GetOutputCharWidth(
    UINT nFirstChar,
    UINT nLastChar,
    LPINT lpBuffer) const;

매개 변수

nFirstChar
현재 글꼴에서 문자의 연속 된 그룹의 첫 번째 문자를 지정합니다.

nLastChar
현재 글꼴에서 문자의 연속 된 그룹의 마지막 문자를 지정합니다.

lpBuffer
현재 글꼴에서 문자의 연속 된 그룹에 대 한 너비 값을 받을 버퍼를 가리킵니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

예를 들어, 경우 nFirstChar 식별 하는 문자 'a' 및 nLastChar 모든 소문자의 너비를 'z', 함수 검색 문자를 식별 합니다.

가리키는 버퍼에 있는 값을 저장 하는 함수 lpBuffer합니다. 이 버퍼는 모두 너비를 보관 하기에 충분히 있어야 합니다. 즉, 있어야 26 이상 항목에 제공 된 예제입니다.

연속 된 문자 그룹에 있는 문자를 특정 글꼴에 없는 경우 기본 문자 너비 값을 할당 됩니다.

CDC::GetOutputTabbedTextExtent

너비와 높이 사용 하 여 문자 문자열을 계산 하려면이 멤버 함수 호출 m_hDC, 출력 장치 컨텍스트.

CSize GetOutputTabbedTextExtent(
    LPCTSTR lpszString,
    int nCount,
    int nTabPositions,
    LPINT lpnTabStopPositions) const;

CSize GetOutputTabbedTextExtent(
    const CString& str,
    int nTabPositions,
    LPINT lpnTabStopPositions) const;

매개 변수

lpszString
측정할 문자열을 가리킵니다. 전달할 수도 있습니다는 CString 이 매개 변수에 대 한 개체입니다.

nCount
문자열에 있는 문자의 수를 지정합니다. 하는 경우 nCount 가-1 이면 길이 계산 됩니다.

nTabPositions
가 가리키는 배열의 탭 정지 위치 수를 지정 lpnTabStopPositions합니다.

lpnTabStopPositions
논리 단위에 탭 정지 위치를 포함 하는 정수 배열 가리킵니다. 탭 정지; 오름차순으로 정렬 되어야 합니다. 가장 작은 x 값에는 배열의 첫 번째 항목 이어야 합니다. 백 탭 허용 되지 않습니다.

str
CString 측정할 지정된 된 문자를 포함 하는 개체입니다.

반환 값

문자열 (논리 단위)의 크기를 CSize 개체입니다.

설명

문자열의 너비를 지정 된 탭 정지를 기반으로 문자열 탭 문자가 하나 이상 있으면 lpnTabStopPositions합니다. 함수는 현재 선택된 된 글꼴을 사용 하 여 문자열의 크기를 계산.

현재 클립 영역 너비와 높이 반환한 오프셋 하지 않습니다는 GetOutputTabbedTextExtent 함수입니다.

일부 장치 일반 셀 배열에 문자를 배치 하지 마십시오 이므로 (즉, 이러한 문자 커닝), 문자열의 문자 범위의 합계를 문자열의 익스텐트와 같을 수 있습니다.

하는 경우 nTabPositions 은 0 및 lpnTabStopPositions 가 null 인 경우 탭 평균 문자 너비를 8로 확장 됩니다. 하는 경우 nTabPositions 가 1 이면 탭 정지는 배열의 첫 번째 값으로 지정 된 간격으로 구분 됩니다 lpnTabStopPositions 지점입니다. 하는 경우 lpnTabStopPositions 단일 값을 보다 자세히 가리킵니다 탭 정지에 지정한 수까지 배열의 각 값에 대해 설정 됩니다 nTabPositions합니다.

CDC::GetOutputTextExtent

출력 장치 컨텍스트를 사용 하 여이 멤버 함수 호출 m_hDC, 및 현재 글꼴을 사용 하 여 텍스트의 줄의 높이 너비를 계산 합니다.

CSize GetOutputTextExtent(
    LPCTSTR lpszString,
    int nCount) const;

CSize GetOutputTextExtent(const CString& str) const;

매개 변수

lpszString
문자열을 가리킵니다. 전달할 수도 있습니다는 CString 이 매개 변수에 대 한 개체입니다.

nCount
문자열에 있는 문자의 수를 지정합니다. 하는 경우 nCount 가-1 이면 길이 계산 됩니다.

str
CString 측정할 지정된 된 문자를 포함 하는 개체입니다.

반환 값

반환 된 문자열 (논리 단위)의 크기를 CSize 개체입니다.

설명

현재 클립 영역 너비와 높이 반환한 영향을 주지 않습니다 GetOutputTextExtent합니다.

이므로 일부 장치 일반 셀 배열에 문자를 배치 하지 마십시오 (즉, 이러한 커닝)를 수행 하는 문자열의 문자 범위의 합계를 문자열의 범위와 같을 수 있습니다.

CDC::GetOutputTextMetrics

사용 하 여 현재 글꼴에 대 한 메트릭을 검색 m_hDC, 출력 장치 컨텍스트.

BOOL GetOutputTextMetrics(LPTEXTMETRIC lpMetrics) const;

매개 변수

lpMetrics
가리키는 합니다 TEXTMETRIC 메트릭을 수신 하는 구조입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

CDC::GetPath

선의 끝점 및 장치 컨텍스트로 선택 된 경로에서 발견 되는 곡선의 제어점을 정의 하는 좌표를 검색 합니다.

int GetPath(
    LPPOINT lpPoints,
    LPBYTE lpTypes,
    int nCount) const;

매개 변수

lpPoints
배열을 가리킵니다 지점 데이터 구조 또는 CPoint 줄 끝점과 곡선의 제어점 개체 배치 됩니다.

lpTypes
꼭 짓 점 형식 배치 되는 바이트 배열 가리킵니다. 값은 다음 중 하나:

  • PT_MOVETO 지정 해당 가리키는 lpPoints 비연속 그림을 시작 합니다.

  • 이전 시점 및 해당 지점 PT_LINETO 지정 lpPoints 선의 끝점입니다.

  • PT_BEZIERTO 지정 해당 가리키는 lpPoints 제어점 인지 Bzier 곡선의 끝점입니다.

3 개 단위로 PT_BEZIERTO 형식을 항상 발생합니다. 지점 바로 앞에 해당 경로에 Bzier 곡선의 시작점을 정의 합니다. 처음 두 PT_BEZIERTO 지점은 제어 지점 및 세 번째 PT_BEZIERTO 점이 끝점 (하는 경우 하드 코드 된).

PT_LINETO 또는 PT_BEZIERTO 형식에는 다음 플래그를 함께 사용할 수 있습니다 (비트 or 연산자를 사용 하 여 OR) 해당 지점은 그림에서 마지막 지점이 고 그림을 닫을 수 있음을 나타냅니다.

  • PT_CLOSEFIGURE 지정 해당 줄 후 자동으로 닫혀 그림 또는 곡선을 그립니다. 그림은 PT_MOVETO 마지막 해당 지점에 선이나 곡선 끝점에서 선을 그려 닫혀 있습니다.

nCount
총 개수를 지정 지점 에 추가할 수 있는 데이터 구조를 lpPoints 배열입니다. 이 값에 올 수 있는 바이트 수가 동일 해야 합니다 lpTypes배열입니다.

반환 값

경우는 nCount 매개 변수는 0이 아닌 경우 열거 된 요소의 수입니다. 하는 경우 nCount 가 0 이면 경로에 있는 점의 총 개수 (및 GetPath 버퍼에 쓸 nothing). 하는 경우 nCount 0이 아니고 점 개수 보다 작으면 경로에서 반환 값은-1입니다.

설명

장치 컨텍스트는 닫힌된 경로 포함 해야 합니다. 경로 지점의 논리적 좌표가 반환 됩니다. 따라서 지점에 포함 된 장치 좌표로 경로에 저장 됩니다 GetPath 현재 변환의 역함수 값을 사용 하 여 장치 좌표에서 논리적 좌표로 지점의 변경 합니다. 합니다 FlattenPath 하기 전에 멤버 함수를 호출할 수 있습니다 GetPath경로에 모든 곡선을 선 세그먼트로 변환 합니다.

예제

예를 참조 하세요 cdc:: beginpath합니다.

CDC::GetPixel

지정 된 지점에서 픽셀의 RGB 색 값을 검색 x 하 고 y합니다.

COLORREF GetPixel(
    int x,
    int y) const;

COLORREF GetPixel(POINT point) const;

매개 변수

x
검사할 요소의 논리적 x 좌표를 지정 합니다.

y
검사할 요소의 논리적 y 좌표를 지정 합니다.

point
논리적 x 좌표와 y-검사할 요소의 지정 합니다.

반환 값

지정 된 요소의 색에 대 한 RGB 색상 값 함수 버전입니다. 좌표 클립 영역에는 지점을 지정 하지 않으면 경우-1입니다.

설명

지점 클립 영역에 있어야 합니다. 지점 클립 영역에 없는 경우 함수는 영향을 주지 않으며-1을 반환 합니다.

모든 장치가 GetPixel 기능을 지원하지는 않습니다. 자세한 내용은 아래 RC_BITBLT 래스터 기능 참조를 GetDeviceCaps 멤버 함수입니다.

GetPixel 멤버 함수에는 두 가지 형태가 있습니다. 첫 번째는 두 개의 좌표 값 두 번째는 한 지점 구조 또는 CPoint 개체입니다.

CDC::GetPolyFillMode

현재 다각형 채우기 모드를 검색합니다.

int GetPolyFillMode() const;

반환 값

현재 다각형 채워진 모드, 대체 또는 권선을 함수에 성공 하는 경우.

설명

참조 된 SetPolyFillMode 다각형 채우기 모드에 대 한 멤버 함수입니다.

CDC::GetROP2

현재 그리기 모드를 검색합니다.

int GetROP2() const;

반환 값

그리기 모드입니다. 그리기 모드 값의 목록을 보려면 참조는 SetROP2 멤버 함수입니다.

설명

그리기 모드 펜의 색 및 채워진된 개체의 내부 표시 표면에서 이미 색과 결합 하는 방법을 지정 합니다.

CDC::GetSafeHdc

가져오려는이 멤버 함수 호출 m_hDC, 출력 장치 컨텍스트.

HDC GetSafeHdc() const;

반환 값

장치 컨텍스트 핸들입니다.

설명

이 멤버 함수는 null 포인터를 사용 하 여 에서도 작동합니다.

CDC::GetStretchBltMode

현재 비트맵 늘이기 모드를 검색 합니다.

int GetStretchBltMode() const;

반환 값

현재 비트맵 늘이기 모드를 지정 하는 반환 값-STRETCH_ANDSCANS, STRETCH_DELETESCANS, 또는 STRETCH_ORSCANS-함수에 성공 하는 경우.

설명

비트맵 확장 모드에서 비트맵으로 압축 되거나 확장 되는 정보는 제거 하는 방법을 정의 합니다 StretchBlt 멤버 함수입니다.

STRETCH_ANDSCANS 및 STRETCH_ORSCANS 모드 흑백 비트맵의 전경 픽셀을 유지 하기 위해 일반적으로 사용 됩니다.STRETCH_DELETESCANS 모드 색 비트맵의 색을 유지 하기 위해 일반적으로 사용 됩니다.

CDC::GetTabbedTextExtent

너비와 높이 사용 하 여 문자 문자열을 계산 하려면이 멤버 함수 호출 m_hAttribDC, 특성 장치 컨텍스트.

CSize GetTabbedTextExtent(
    LPCTSTR lpszString,
    int nCount,
    int nTabPositions,
    LPINT lpnTabStopPositions) const;

CSize GetTabbedTextExtent(
    const CString& str,
    int nTabPositions,
    LPINT lpnTabStopPositions) const;

매개 변수

lpszString
문자열을 가리킵니다. 전달할 수도 있습니다는 CString 이 매개 변수에 대 한 개체입니다.

nCount
문자열에 있는 문자의 수를 지정합니다. 하는 경우 nCount 가-1 이면 길이 계산 됩니다.

nTabPositions
가 가리키는 배열의 탭 정지 위치 수를 지정 lpnTabStopPositions합니다.

lpnTabStopPositions
논리 단위에 탭 정지 위치를 포함 하는 정수 배열 가리킵니다. 탭 정지; 오름차순으로 정렬 되어야 합니다. 가장 작은 x 값에는 배열의 첫 번째 항목 이어야 합니다. 백 탭 허용 되지 않습니다.

str
CString 그릴 지정된 된 문자를 포함 하는 개체입니다.

반환 값

문자열 (논리 단위)의 크기를 CSize 개체입니다.

설명

문자열의 너비를 지정 된 탭 정지를 기반으로 문자열 탭 문자가 하나 이상 있으면 lpnTabStopPositions합니다. 함수는 현재 선택된 된 글꼴을 사용 하 여 문자열의 크기를 계산.

현재 클립 영역 너비와 높이 반환한 오프셋 하지 않습니다는 GetTabbedTextExtent 함수입니다.

일부 장치 일반 셀 배열에 문자를 배치 하지 마십시오 이므로 (즉, 이러한 문자 커닝), 문자열의 문자 범위의 합계를 문자열의 익스텐트와 같을 수 있습니다.

하는 경우 nTabPositions 은 0 및 lpnTabStopPositions 가 null 인 경우 탭 평균 문자 너비를 8 시간으로 확장 됩니다. 하는 경우 nTabPositions 가 1 이면 탭 정지는 배열의 첫 번째 값으로 지정 된 간격으로 구분 됩니다 lpnTabStopPositions 지점입니다. 하는 경우 lpnTabStopPositions 단일 값을 보다 자세히 가리킵니다 탭 정지에 지정한 수까지 배열의 각 값에 대해 설정 됩니다 nTabPositions합니다.

CDC::GetTextAlign

장치 컨텍스트에 대 한 텍스트 맞춤 플래그의 상태를 검색합니다.

UINT GetTextAlign() const;

반환 값

텍스트 맞춤 플래그의 상태입니다. 반환 값에는 다음 값 중 하나 이상의:

  • X 축 및 경계 사각형 내에서 선택한 글꼴의 기준선 맞춤 TA_BASELINE 지정입니다.

  • X 축 및 경계 사각형의 아래쪽 맞춤 TA_BOTTOM 지정입니다.

  • Y 축 및 경계 사각형의 가운데 맞춤 TA_CENTER 지정입니다.

  • Y 축 및 경계 사각형의 왼쪽 맞춤 TA_LEFT 지정입니다.

  • TA_NOUPDATECP 현재 위치 업데이트 되지 않습니다 지정 합니다.

  • Y 축 및 경계 사각형의 오른쪽에 있는 TA_RIGHT 지정 맞춤입니다.

  • X 축 및 경계 사각형의 위쪽 맞춤 TA_TOP 지정입니다.

  • TA_UPDATECP 현재 위치 업데이트 되도록 지정 합니다.

설명

텍스트 맞춤 플래그를 확인 하는 방법을 TextOut 및 ExtTextOut 멤버 함수는 문자열의 시작 위치와 관련 된 텍스트 문자열로 정렬 합니다. 텍스트 맞춤 플래그는 반드시 단일 비트 플래그가 설정 되며 0와 같을 수 있습니다. 응용 프로그램 플래그 설정 되어 있는지 여부를 테스트 하려면 다음이 단계를 수행 합니다.

  1. 플래그 및 해당 관련된 플래그를 다음과 같이 그룹화에 비트 OR 연산자를 적용 됩니다.

    • TA_LEFT, TA_CENTER, 및 TA_RIGHT

    • TA_BASELINE, TA_BOTTOM, 및 TA_TOP

    • TA_NOUPDATECP 및 TA_UPDATECP

  2. 비트 적용-및 연산자의 반환 값과 결과를 GetTextAlign입니다.

  3. 이 결과와 플래그 같은지 테스트 합니다.

CDC::GetTextCharacterExtra

Intercharacter 간격 동안 현재 설정을 검색합니다.

int GetTextCharacterExtra() const;

반환 값

Intercharacter 간격의 양입니다.

설명

GDI 장치 컨텍스트에서 텍스트 줄에 쓸 때 바꿈 문자를 포함 하 여 각 문자에이 간격을 추가 합니다.

Intercharacter 간격의 기본값은 0입니다.

CDC::GetTextColor

현재 텍스트 색을 검색합니다.

COLORREF GetTextColor() const;

반환 값

RGB 색 값으로 현재 텍스트 색입니다.

설명

텍스트 색은 GDI 텍스트 출력 멤버 함수를 사용 하 여 그린 문자의 전경색 TextOut를 ExtTextOut, 및 TabbedTextOut합니다.

CDC::GetTextExtent

현재 글꼴을 사용 하 여 크기를 확인 하는 텍스트 줄의 높이 너비를 계산 하려면이 멤버 함수를 호출 합니다.

CSize GetTextExtent(
    LPCTSTR lpszString,
    int nCount) const;

CSize GetTextExtent(const CString& str) const;

매개 변수

lpszString
문자열을 가리킵니다. 전달할 수도 있습니다는 CString 이 매개 변수에 대 한 개체입니다.

nCount
문자열에 있는 문자의 수를 지정합니다.

str
CString 지정된 된 문자를 포함 하는 개체입니다.

반환 값

문자열 (논리 단위)의 크기를 CSize 개체입니다.

설명

정보에서 검색 됩니다 m_hAttribDC, 특성 장치 컨텍스트.

기본적으로 GetTextExtent 차원 검색 텍스트를 가로선 설정 되었다고 가정 (즉, escapement은 0 임). 0이 아닌 escapement를 지정 하는 글꼴을 만들 경우 명시적으로 문자열의 크기를 가져오려는 텍스트의 각도 변환 해야 합니다.

현재 클립 영역 너비와 높이 반환한 영향을 주지 않습니다 GetTextExtent합니다.

이므로 일부 장치 일반 셀 배열에 문자를 배치 하지 마십시오 (즉, 이러한 커닝)를 수행 하는 문자열의 문자 범위의 합계를 문자열의 범위와 같을 수 있습니다.

CDC::GetTextExtentExPointI

지정 된 공간에 맞춰 각 해당 문자에 대 한 텍스트 범위를 사용 하 여 배열을 채운 지정된 된 문자열의 문자 수를 검색 합니다.

BOOL GetTextExtentExPointI(
    LPWORD pgiIn,
    int cgi,
    int nMaxExtent,
    LPINT lpnFit,
    LPINT alpDx,
    LPSIZE lpSize) const;

매개 변수

pgiIn
문자 모양 인덱스 익스텐트는 검색할 배열의 포인터입니다.

cgi
가 가리키는 배열의 문자 모양 수를 지정 pgiIn합니다.

nMaxExtent
서식이 지정 된 문자열의 논리 단위에서 허용 되는 최대 너비를 지정합니다.

lpnFit
지정 된 공간에 있는 문자의 최대 수를 받는 정수에 대 한 포인터 nMaxExtent합니다. 때 lpnFit 가 null 인 경우 nMaxExtent 무시 됩니다.

alpDx
부분 문자 모양 익스텐트를 받는 정수 배열에 대 한 포인터입니다. 배열의 각 요소에에서 제공 하 여 지정 된 공간에 적합 한 문자 모양을 문자 모양 인덱스 배열의 시작 부분 사이의 논리적 단위로 거리 nMaxExtent합니다. 이 배열에서 지정 된 문자 모양 인덱스 이상의 요소가 있어야 하지만 cgi, 함수에 의해 지정 된 대로 많은 수의 문자 모양 인덱스에 대해서만 범위를 사용 하 여 배열을 채웁니다 lpnFit합니다. 하는 경우 lpnDx 가 null 인 경우 함수는 부분 문자열 너비를 계산 하지 않습니다.

lpSize
에 대 한 포인터를 크기 구조체 논리 단위에서 문자 모양 인덱스 배열 크기입니다. 이 값은 NULL 일 수 없습니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 함수의 기능을 에뮬레이트합니다 GetTextExtentExPointIWindows SDK에 설명 된 대로 합니다.

CDC::GetTextExtentPointI

너비와 높이 지정 된 배열의 문자 모양 인덱스를 검색합니다.

BOOL GetTextExtentPointI(
    LPWORD pgiIn,
    int cgi,
    LPSIZE lpSize) const;

매개 변수

pgiIn
문자 모양 인덱스 익스텐트는 검색할 배열의 포인터입니다.

cgi
가 가리키는 배열의 문자 모양 수를 지정 pgiIn합니다.

lpSize
에 대 한 포인터를 크기 구조체 논리 단위에서 문자 모양 인덱스 배열 크기입니다. 이 값은 NULL 일 수 없습니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 함수의 기능을 에뮬레이트합니다 GetTextExtentPointIWindows SDK에 설명 된 대로 합니다.

CDC::GetTextFace

버퍼에 현재 글꼴의 서체 이름을 복사 하려면이 멤버 함수를 호출 합니다.

int GetTextFace(
    int nCount,
    LPTSTR lpszFacename) const;

int GetTextFace(CString& rString) const;

매개 변수

nCount
바이트 단위로 버퍼의 크기를 지정합니다. 서체 이름을이 매개 변수로 지정 된 바이트 수를 초과할 경우 이름이 잘립니다.

lpszFacename
서체 이름에 대 한 버퍼를 가리킵니다.

rString
에 대 한 참조를 CString 개체입니다.

반환 값

Null 종결 문자를 포함 하지 않습니다 버퍼에 복사 된 바이트 수입니다. 오류가 발생 한 경우 0입니다.

설명

서체 이름은 null로 끝나는 문자열로 복사 됩니다.

CDC::GetTextMetrics

현재 글꼴 특성 장치 컨텍스트를 사용 하 여 메트릭을 검색 합니다.

BOOL GetTextMetrics(LPTEXTMETRIC lpMetrics) const;

매개 변수

lpMetrics
가리키는 합니다 TEXTMETRIC 메트릭을 수신 하는 구조입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

CDC::GetViewportExt

장치 컨텍스트의 뷰포트의 x 및 y 익스텐트를 검색합니다.

CSize GetViewportExt() const;

반환 값

X-및 y-(에 익스텐트에 장치 단위)로 CSize 개체입니다.

CDC::GetViewportOrg

장치 컨텍스트와 연결 된 뷰포트의 원점의 x 및 y 좌표를 검색 합니다.

CPoint GetViewportOrg() const;

반환 값

뷰포트 (장치 좌표)로 출처를 CPoint 개체입니다.

CDC::GetWindow

디스플레이 장치 컨텍스트를 사용 하 여 관련 된 창을 반환 합니다.

CWnd* GetWindow() const;

반환 값

에 대 한 포인터를 CWnd 성공 하면 NULL 개체입니다.

설명

이 고급 함수입니다. 예를 들어,이 멤버 함수 인쇄 하거나 인쇄 미리 보기 뷰 창에는 반환 하지 않을 수 있습니다. 항상 출력을 사용 하 여 관련 된 창을 반환 합니다. 이 창에 지정 된 DC를 사용 하는 출력 함수를 그립니다.

CDC::GetWindowExt

장치 컨텍스트를 사용 하 여 연결 된 창의 x 및 y 익스텐트를 검색 합니다.

CSize GetWindowExt() const;

반환 값

X-및 y-(에 익스텐트에 논리 단위)로 CSize 개체입니다.

CDC::GetWindowOrg

장치 컨텍스트를 사용 하 여 연결 된 창의 원점의 x 및 y 좌표를 검색 합니다.

CPoint GetWindowOrg() const;

반환 값

원본으로 논리적 좌표로 나타낸 창의 CPoint 개체입니다.

CDC::GetWorldTransform

페이지 공간 변환 현재 세계 좌표 공간을 검색합니다.

BOOL GetWorldTransform(XFORM& rXform) const;

매개 변수

rXform
에 대 한 참조를 XFORM 페이지 공백 변환 현재 세계 좌표 공간을 수신 하는 구조입니다.

반환 값

성공 시 0이 아닌 값을 반환 합니다.

그렇지 않으면 0을 반환합니다.

확장 오류 정보를 가져오기, 호출 GetLastError합니다.

설명

이 메서드는 Windows GDI 함수를 래핑합니다 GetWorldTransform합니다.

CDC::GradientFill

다른 한 쪽에서 원활 하 게 희미해 지는 색을 사용 하 여 사각형 및 삼각형 구조에 맞게이 멤버 함수를 호출 합니다.

BOOL GradientFill(
    TRIVERTEX* pVertices,
    ULONG nVertices,
    void* pMesh,
    ULONG nMeshElements,
    DWORD dwMode);

매개 변수

pVertices
배열에 대 한 포인터 TRIVERTEX 각각 삼각형 꼭 짓 점 정의 구조입니다.

nVertices
꼭 짓 점 수입니다.

pMesh
배열을 GRADIENT_TRIANGLE 삼각형 모드나 배열을 구조 GRADIENT_RECT 사각형 모드로 구조입니다.

nMeshElements
에 있는 (삼각형 또는 사각형)의 요소 수가 pMesh합니다.

dwMode
그라데이션 채우기 모드를 지정합니다. 가능한 값 목록을 참조 하세요 GradientFill Windows SDK에 있습니다.

반환 값

성공하면 TRUE이고, 실패하면 FALSE입니다.

설명

자세한 내용은 참조 하세요. GradientFill Windows SDK에 있습니다.

CDC::GrayString

지정 된 위치 (회색) 텍스트를 흐리게 표시 됩니다 메모리 비트맵에 텍스트를 작성 하 고 비트맵 어둡게 표시 한 다음 표시로 비트맵을 복사 하 여 그립니다.

virtual BOOL GrayString(
    CBrush* pBrush,
    BOOL (CALLBACK* lpfnOutput)(
    HDC,
    LPARAM,
    int),
    LPARAM lpData,
    int nCount,
    int x,
    int y,
    int nWidth,
    int nHeight);

매개 변수

pBrush
흐려지는 (표시)에 사용 되는 브러시를 식별 합니다.

lpfnOutput
문자열을 그릴가 있는 응용 프로그램에서 제공한 콜백 함수의 프로시저 인스턴스 주소를 지정 합니다. 자세한 내용은 참조는 Windows에 대 한 설명을 OutputFunc 콜백 함수합니다. 시스템의 Windows를 사용 하 여이 매개 변수가 NULL 이면 TextOut 문자열을 그릴 함수 및 lpData 출력 문자열에 대 한 긴 포인터 것으로 간주 됩니다.

lpData
출력 함수에 전달할 데이터에 대 한 far 포인터를 지정 합니다. 하는 경우 lpfnOutput 가 null 인 경우 lpData 출력 문자열에 대 한 긴 포인터 여야 합니다.

nCount
출력할 문자 수를 지정 합니다. 이 매개 변수가 0 이면 GrayString 문자열의 길이 계산 (가정 lpData 문자열에 대 한 포인터). 하는 경우 nCount -1 이며에서 가리키는 함수 lpfnOutput 0 이미지 반환 되지만 흐리게 표시 되지 않습니다.

x
문자열을 둘러싸는 사각형의 시작 위치에 대 한 논리적 x 좌표를 지정 합니다.

y
문자열을 둘러싸는 사각형의 시작 위치에 대 한 논리적 y 좌표를 지정 합니다.

nWidth
문자열을 둘러싸는 사각형의 너비 (논리 단위)에 지정 합니다. 하는 경우 nWidth 가 0 이면 GrayString 영역의 너비를 계산 가정 lpData 문자열에 대 한 포인터입니다.

nHeight
문자열을 둘러싸는 사각형의 높이 (논리 단위)에 지정 합니다. 하는 경우 nHeight 가 0 이면 GrayString 영역의 높이 계산 가정 lpData문자열에 대 한 포인터입니다.

반환 값

문자열을 그리는 경우 0이 아닌 경우 0을 TextOut 함수 또는 출력 응용 프로그램에서 제공한 함수 반환 0, 어둡게 표시에 대 한 메모리 비트맵을 만들 수 있는 메모리가 부족 하 여 발생 한 경우 또는 합니다.

설명

함수에는 선택한 브러시 및 백그라운드에 관계 없이 텍스트를 흐리게 표시 됩니다. GrayString 멤버 함수는 현재 선택된 된 글꼴을 사용 합니다. 이 함수를 사용 하기 전에 MM_TEXT 매핑 모드를 선택 해야 합니다.

응용 프로그램 호출 하지 않고 회색 단색을 지 원하는 장치에서 흐리게 (회색으로 표시) 문자열을 그릴 수는 GrayString 멤버 함수입니다. 시스템 색 COLOR_GRAYTEXT 비활성화 된 텍스트를 그리는 데 단색 회색 시스템 색이 됩니다. 응용 프로그램에서 호출할 수는 GetSysColor COLOR_GRAYTEXT의 색 값을 검색 하려면 Windows 함수입니다. 색 (검은색) 0이 아닌 경우 응용 프로그램이 호출할 수는 SetTextColor 멤버 함수를 색 값으로 텍스트 색을 설정 하 고 다음 직접 문자열을 그립니다. 검색된 된 색은 검정, 응용 프로그램 호출 해야 합니다 GrayString (회색)를 흐리게 하는 텍스트입니다.

하는 경우 lpfnOutput 가 null 인 경우 GDI는 Windows를 사용 하 여 TextOut 함수 및 lpData 출력할 문자에 대 한 far 포인터를 것으로 간주 됩니다. 출력할 문자에서 처리할 수 없는 경우는 TextOut 멤버 함수 (예를 들어 문자열 저장 됨을 비트맵으로), 응용 프로그램에서 자체 출력 함수를 제공 해야 합니다.

모든 콜백 함수가 콜백 경계를 넘어 예외를 throw 할 수 없습니다 때문에 Windows를 반환 하기 전에 Microsoft Foundation 예외를 트래핑 해야 참고도 합니다. 예외에 대 한 자세한 내용은 문서 참조 예외합니다.

콜백 함수에 전달 GrayString 사용 해야 합니다 __stdcall 호출 규칙 및 사용 하 여 내보내야 __declspec합니다.

미리 보기 모드에 대 한 호출에서 프레임 워크의 경우는 GrayString 멤버 함수는 변환는 TextOut 호출과 콜백 함수는 호출 되지 않습니다.

CDC::HIMETRICtoDP

OLE에서 HIMETRIC 크기 (픽셀)로 변환 하는 경우이 함수를 사용 합니다.

void HIMETRICtoDP(LPSIZE lpSize) const;

매개 변수

lpSize
가리키는 크기 구조 나 CSize 개체입니다.

설명

장치 컨텍스트 개체의 매핑 모드가 MM_LOENGLISH, MM_HIENGLISH, MM_LOMETRIC 또는 MM_HIMETRIC 이면 변환이 실제 인치당 픽셀 수에 기반 합니다. 매핑 모드 모드 중 하나를 다른 제한 되지 않은 (예: MM_TEXT) 인 경우 변환은 논리 인치당 픽셀 수에 기반 합니다.

CDC::HIMETRICtoLP

HIMETRIC 단위를 논리 단위로 변환 하려면이 함수를 호출 합니다.

void HIMETRICtoLP(LPSIZE lpSize) const;

매개 변수

lpSize
가리키는 크기 구조 나 CSize 개체입니다.

설명

Ole에서에 HIMETRIC 크기를 가져오고 응용 프로그램의 기본 매핑 모드 변환 하려는 경우이 함수를 사용 합니다.

먼저 HIMETRIC 단위 픽셀에 변환한 다음 이러한 단위를 논리 단위로 장치 컨텍스트의 현재 매핑을 단위를 사용 하 여 변환이 수행 됩니다. 장치 창 및 뷰포트의 범위는 결과 영향을 note 합니다.

CDC::IntersectClipRect

현재 지역 및 지정 된 사각형의 교차 부분을 형성 하 여 새 클리핑 영역을 만듭니다 x1를 y1하십시오 x2, 및 y2.

int IntersectClipRect(
    int x1,
    int y1,
    int x2,
    int y2);

int IntersectClipRect(LPCRECT lpRect);

매개 변수

x1
사각형의 왼쪽 위 모퉁이의 논리적 x 좌표를 지정합니다.

y1
사각형의 왼쪽 위 모퉁이의 논리적 y 좌표를 지정합니다.

x2
사각형의 오른쪽 아래 모퉁이의 논리적 x 좌표를 지정합니다.

y2
사각형의 오른쪽 아래 모퉁이의 논리적 y 좌표를 지정합니다.

lpRect
사각형을 지정합니다. 전달할 수 있습니다는 CRect 개체나에 대 한 포인터를 RECT 이 매개 변수 구조입니다.

반환 값

새 클립 영역 유형입니다. 다음 값 중 하나일 수 있습니다.

  • COMPLEXREGION 새 클립 영역에 테두리를 겹치는 합니다.

  • 오류 장치 컨텍스트가 잘못 되었습니다.

  • 새 NULLREGION 클립 영역이 비어 있습니다.

  • SIMPLEREGION 새 클립 영역에 겹치는 테두리가 없습니다.

설명

GDI는 새 경계 내에 맞게 모든 후속 출력을 자릅니다. 너비와 높이 32, 767를 넘지 않아야 합니다.

CDC::InvertRect

지정된 된 사각형의 내용을 반전합니다.

void InvertRect(LPCRECT lpRect);

매개 변수

lpRect
가리키는 RECT 반전 사각형의 논리적 좌표를 포함 하는 합니다. 전달할 수도 있습니다는 CRect 이 매개 변수에 대 한 개체입니다.

설명

반전은 논리적 작업 및 각 픽셀의 비트를 대칭 이동 되지 않습니다. 단색 디스플레이에 함수 흰색 픽셀 검은색 및 검정 픽셀을 흰색 만듭니다. 컬러 디스플레이에서 반전을 색을 표시 하기 위해 생성 되는 방식에 따라 달라 집니다. 호출 InvertRect 같은 사각형으로 두 번 해당 이전 색으로 표시를 복원 합니다.

사각형을 선택 하지 않으면 아무 것도 그려지지 않습니다.

예제

C++
void CDCView::DoInvertRect(CDC* pDC)
{
   // invert rect from 20,20 to 50,50
   CRect rect(20, 20, 50, 50);
   pDC->InvertRect(rect);

   // inverting again restores to normal
   ::Sleep(1000);
   pDC->InvertRect(rect);   
}

CDC::InvertRgn

지정 된 지역에 있는 색 반전 pRgn합니다.

BOOL InvertRgn(CRgn* pRgn);

매개 변수

pRgn
반전 될 지역을 식별 합니다. 영역의 좌표를 논리 단위로 지정 됩니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

단색 디스플레이에 함수 흰색 픽셀 검은색 및 검정 픽셀을 흰색 만듭니다. 컬러 디스플레이에서 반전을 디스플레이 색을 생성 하는 방법에 따라 달라 집니다.

CDC::IsPrinting

인쇄 장치 컨텍스트에 사용 되 고 있는지 여부를 결정 합니다.

BOOL IsPrinting() const;

반환 값

0이 아닌 값을 CDC 개체가 프린터 DC 그렇지 않으면 0입니다.

CDC::LineTo

현재 위치 까지의 등을 제외한 지정 된 지점에서 선을 그립니다 x 하 고 y (또는 가리킨).

BOOL LineTo(
    int x,
    int y);

BOOL LineTo(POINT point);

매개 변수

x
줄에 대 한 끝점의 논리적 x 좌표를 지정합니다.

y
줄에 대 한 끝점의 논리적 y 좌표를 지정합니다.

point
줄에 대 한 끝점을 지정합니다. 전달할 수 있습니다는 POINT 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

이 선은; 경우 0이 아닌 값 그렇지 않으면 0입니다.

설명

줄 선택한 펜을 사용 하 여 그려집니다. 현재 위치 설정할지 x를 y 또는 가리킨합니다.

예제

예를 참조 하세요 CRect::CenterPoint합니다.

CDC::LPtoDP

장치 단위에 논리 단위를 변환합니다.

void LPtoDP(
    LPPOINT lpPoints,
    int nCount = 1) const;

void LPtoDP(LPRECT lpRect) const;
void LPtoDP(LPSIZE lpSize) const;

매개 변수

lpPoints
요소의 배열 가리킵니다. 배열의 각 요소는 가리킨 구조 또는 CPoint 개체입니다.

nCount
배열에서 요소의 수입니다.

lpRect
가리키는 RECT 구조 또는 CRect 개체입니다. 이 매개 변수는 장치 단위를 논리적 좌표에서 사각형을 매핑하는 일반적인 경우에 사용 됩니다.

lpSize
가리키는 크기 구조 또는 CSize 개체입니다.

설명

함수는 각 요소의 좌표 또는 차원의 장치 좌표계에 GDI의 논리적 좌표계에서 크기를 매핑합니다. 변환을 현재 매핑 모드 및 원본을 설정 및 장치 창과 뷰포트의 범위에 따라 달라 집니다.

점의 x 및 y 좌표는-32,768부터 32,767 범위에 있는 2 바이트 부호 있는 정수입니다. 이러한 한도 보다 큰 값 매핑 모드를 초래 하는 경우에 시스템 값-32,768에서 32,767를 각각 설정 합니다.

CDC::LPtoHIMETRIC

논리 단위를 HIMETRIC 단위로 변환 하려면이 함수를 호출 합니다.

void LPtoHIMETRIC(LPSIZE lpSize) const;

매개 변수

lpSize
가리키는 SIZE 구조 또는 CSize 개체입니다.

설명

에 대 한 부여 HIMETRIC 크기 OLE 응용 프로그램의 기본 매핑 모드에서 변환 하는 경우이 함수를 사용 합니다. 장치 창 및 뷰포트의 범위는 결과 영향을 note 합니다.

첫 번째 픽셀 장치 컨텍스트의 현재 매핑을 단위를 사용 하 고 그런 다음 이러한 단위를 HIMETRIC 단위 변환으로 논리 단위를 변환 하 여 변환이 수행 됩니다.

CDC::m_hAttribDC

이 대 한 특성 장치 컨텍스트 CDC 개체입니다.

HDC m_hAttribDC;

설명

기본적으로이 장치 컨텍스트는 같음 m_hDC합니다. 일반적으로 CDC 장치 컨텍스트에서 정보를 요청 하는 GDI 호출 이동 m_hAttribDC합니다. 참조 된 CDC 이러한 두 장치 컨텍스트 사용에 대 한 자세한 설명은 클래스입니다.

CDC::m_hDC

이 대 한 출력 장치 컨텍스트 CDC 개체입니다.

HDC m_hDC;

설명

기본적으로 m_hDC 값과 같음 m_hAttribDC, 래핑된 다른 장치 컨텍스트 CDC합니다. 일반적으로 CDC 출력을 만든 GDI 호출으로 이동 합니다 m_hDC 장치 컨텍스트. 초기화할 수 있습니다 m_hDC 고 m_hAttribDC 다양 한 장치를 가리키도록 합니다. 참조 된 CDC 이러한 두 장치 컨텍스트 사용에 대 한 자세한 설명은 클래스입니다.

CDC::MaskBlt

지정 된 마스크와 래스터 연산을 사용 하 여 원본 및 대상 비트맵에 대 한 색 데이터를 결합 합니다.

BOOL MaskBlt(
    int x,
    int y,
    int nWidth,
    int nHeight,
    CDC* pSrcDC,
    int xSrc,
    int ySrc,
    CBitmap& maskBitmap,
    int xMask,
    int yMask,
    DWORD dwRop);

매개 변수

x
대상 사각형의 왼쪽 위 모퉁이의 논리적 x 좌표를 지정합니다.

y
대상 사각형의 왼쪽 위 모퉁이의 논리적 y 좌표를 지정합니다.

nWidth
대상 사각형 및 소스 비트맵의 논리 단위에서 너비를 지정 합니다.

nHeight
대상 사각형 및 소스 비트맵의 논리 단위에서 높이 지정합니다.

pSrcDC
비트맵을 복사할 장치 컨텍스트를 식별 합니다. 경우에는 0 이어야 합니다는 dwRop 매개 변수는 소스를 포함 하지 않는 래스터 연산을 지정 합니다.

xSrc
소스 비트맵의 왼쪽 위 모퉁이의 논리적 x 좌표를 지정합니다.

ySrc
소스 비트맵의 왼쪽 위 모퉁이의 논리적 y 좌표를 지정합니다.

maskBitmap
원본 장치 컨텍스트에서 색 비트맵을 함께 단색 마스크 비트맵을 식별 합니다.

xMask
지정 된 마스크 비트맵 픽셀 가로 오프셋을 지정 합니다 maskBitmap 매개 변수입니다.

yMask
지정 된 마스크 비트맵 픽셀 세로 오프셋을 지정 합니다 maskBitmap 매개 변수입니다.

dwRop
전경색과 배경색을 모두 3 개로 구성 된 래스터 연산 코드에서 함수를 사용 하 여 원본 및 대상 데이터의 조합에 컨트롤을 지정 합니다.백그라운드 래스터 연산 코드는이 값의 상위 단어의 상위 바이트에 저장 됩니다. 전경 래스터 연산 코드에 낮은 바이트의이 값이 변수의 상위 단언에 저장 됩니다. 하위 워드입니다이 값은 무시 되 고 0 이어야 합니다. 매크로 MAKEROP4 전경색과 배경색의 이러한 조합을 래스터 연산 코드를 만듭니다. 전경색과 배경색이 함수의 컨텍스트에서 토론에 대 한 설명 섹션을 참조 합니다. 참조 된 BitBlt 일반적인 래스터 연산 코드의 목록에 대 한 멤버 함수입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

값이 1로 지정 된 마스크에서 maskBitmap 지정 하는 포그라운드 래스터 작업 코드 dwRop 해당 위치에 적용 해야 합니다. 백그라운드 래스터 연산 코드에 지정 된 값이 0 마스크의 나타냅니다 dwRop 해당 위치에 적용 해야 합니다. 래스터 작업이 원본에 필요한 경우 마스크 사각형 소스 사각형을 포함 해야 합니다. 그렇지 않으면 함수가 실패 합니다. 래스터 작업 원본 필요 하지 않으면, 마스크 사각형 대상 사각형을 포함 해야 합니다. 그렇지 않으면 함수가 실패 합니다.

회전 또는 기울이기 변환 인 경우 적용 된 소스 장치 컨텍스트에 대 한이 함수를 호출할 때 오류가 발생 했습니다. 그러나 다른 유형의 변환 허용 됩니다.

원본, 패턴 및 대상 비트맵의 색 형식을 서로 다른 경우이 함수에는 패턴 또는 원본 형식 또는 둘 다를 대상 형식과 일치 하도록 변환 합니다. 마스크 비트맵 단색 비트맵을 없으면 오류가 발생 했습니다. 확장된 메타 파일을 기록 되는 경우 오류가 발생과 함수가 0을 반환 합니다. 소스 장치 컨텍스트를 확장 메타 파일 장치 컨텍스트를 식별 하는 경우. 지원 되지 않는 MaskBlt합니다. 응용 프로그램에서 호출 해야 GetDeviceCaps 장치를이 함수를 지원 하는지 확인 합니다. 이 함수를와 똑같이 동작 하지 마스크 비트맵을 제공 하면 BitBlt, 전경 래스터 연산 코드를 사용 하 여 합니다. 소스 장치 컨텍스트를 비트맵의 점 (0, 0)를 마스크 비트맵 구조의 픽셀 만큼 오프셋합니다. 마스크 비트맵 마스크; 집합이 포함 되어 있는 경우에 유용 응용 프로그램 쉽게 적용할 수 그 중 하나를 마스크 blitting 작업 픽셀 오프셋을 조정 하 여 있으며 사각형 크기 전송 MaskBlt합니다.

CDC::ModifyWorldTransform

월드 변형이 지정된 된 모드를 사용 하 여 장치 컨텍스트에 대 한 변경 합니다.

BOOL ModifyWorldTransform(
    const XFORM& rXform,
    DWORD iMode);

매개 변수

rXform
에 대 한 참조를 XFORM 월드 변형을 지정 된 장치 컨텍스트에 대 한 수정 하는 데 사용 되는 구조입니다.

iMode
변환 데이터를 현재 월드 변형을 수정 하는 방법을 지정 합니다. 이 매개 변수를 사용할 수 있는 값의 목록을 참조 하세요 ModifyWorldTransform합니다.

반환 값

성공 시 0이 아닌 값을 반환 합니다.

그렇지 않으면 0을 반환합니다.

확장 오류 정보를 가져오기, 호출 GetLastError합니다.

설명

이 메서드는 Windows GDI 함수를 래핑합니다 ModifyWorldTransform합니다.

CDC::MoveTo

현재 위치를 통해 지정한 점을 이동할 x 하 고 y (또는 가리킨).

CPoint MoveTo(
    int x,
    int y);

CPoint MoveTo(POINT point);

매개 변수

x
새 위치에 대 한 논리적 x 좌표를 지정합니다.

y
새 위치에 대 한 논리적 y 좌표를 지정합니다.

point
새 위치를 지정합니다. 전달할 수 있습니다는 POINT 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

로 이전 위치의 x 및 y 좌표를 CPoint 개체입니다.

예제

예를 참조 하세요 CRect::CenterPoint합니다.

CDC::OffsetClipRgn

지정 된 오프셋 만큼 장치 컨텍스트의 클리핑 영역을 이동합니다.

int OffsetClipRgn(
    int x,
    int y);

int OffsetClipRgn(SIZE size);

매개 변수

x
오른쪽 또는 왼쪽으로 이동 하는 논리 단위의 수를 지정 합니다.

y
위 또는 아래로 이동 논리 단위의 수를 지정 합니다.

size
오프셋을 지정 합니다.

반환 값

새 지역의 형식입니다. 다음 값 중 하나일 수 있습니다.

  • COMPLEXREGION 클리핑 영역 테두리 겹치는 있습니다.

  • 오류 장치 컨텍스트가 잘못 되었습니다.

  • NULLREGION 클리핑 영역이 비어 있습니다.

  • SIMPLEREGION 클리핑 영역에 겹치는 테두리가 없습니다.

설명

함수 지역 이동 x 축의 단위 및 y 축의 단위입니다.

CDC::OffsetViewportOrg

현재 뷰포트 원본 좌표를 기준으로 뷰포트 원본의 좌표를 수정합니다.

virtual CPoint OffsetViewportOrg(
    int nWidth,
    int nHeight);

매개 변수

nWidth
현재 원본의 x 좌표에 추가할 장치 단위 수를 지정 합니다.

nHeight
현재 원본의 y 좌표에 추가할 장치 단위 수를 지정 합니다.

반환 값

이전 뷰포트 원본 (장치 좌표)로 CPoint 개체입니다.

CDC::OffsetWindowOrg

현재 창 원본 좌표를 기준으로 창 원본의 좌표를 수정합니다.

CPoint OffsetWindowOrg(
    int nWidth,
    int nHeight);

매개 변수

nWidth
현재 원본의 x 좌표에 추가할 논리 단위의 수를 지정 합니다.

nHeight
현재 원본의 y 좌표에 추가할 논리 단위의 수를 지정 합니다.

반환 값

으로 논리적 좌표) (에서 이전 창 origin을 CPoint 개체입니다.

CDC::operator HDC

이 연산자의 장치 컨텍스트 핸들을 검색 하는 데는 CDC 개체입니다.

operator HDC() const;

반환 값

성공 하면; 장치 컨텍스트 개체의 핸들 그렇지 않으면 NULL입니다.

설명

Windows Api를 직접 호출 하는 핸들을 사용할 수 있습니다.

CDC::PaintRgn

지정 된 지역 채웁니다 pRgn 현재 브러시를 사용 하 여 합니다.

BOOL PaintRgn(CRgn* pRgn);

매개 변수

pRgn
채울 영역을 식별 합니다. 지정된 된 영역에 대 한 좌표를 논리 단위로 지정 됩니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

CDC::PatBlt

장치에 비트 패턴을 만듭니다.

BOOL PatBlt(
    int x,
    int y,
    int nWidth,
    int nHeight,
    DWORD dwRop);

매개 변수

x
패턴을 수신 하는 사각형의 왼쪽 위 모퉁이의 논리적 x 좌표를 지정 합니다.

y
패턴을 수신 하는 사각형의 왼쪽 위 모퉁이의 논리적 y 좌표를 지정 합니다.

nWidth
(논리 단위)의 패턴을 수신 하는 사각형의 너비를 지정 합니다.

nHeight
패턴을 수신 하는 사각형의 높이 (논리 단위)에 지정 합니다.

dwRop
래스터 작업 코드를 지정합니다. 래스터 연산은 코드 (ROPs) GDI 현재 브러시, 가능한 소스 비트맵 및 대상 비트맵을 포함 하는 출력 연산에서 색을 결합 하는 방법을 정의 합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

  • PATCOPY 복사본 패턴 대상 비트맵입니다.

  • 부울 XOR 연산자를 사용 하 여 패턴을 사용 하 여 대상 비트맵 PATINVERT 결합 합니다.

  • DSTINVERT 대상 비트맵을 반전 합니다.

  • BLACKNESS 모든 출력을 검정색으로 설정 하면 됩니다.

  • WHITENESS 모든 출력을 흰색으로 설정 하면 됩니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

패턴에는 선택된 된 브러시 및 장치에서 이미 패턴의 조합입니다. 으로 지정 된 래스터 연산은 코드 dwRop 패턴과 결합 하는 방법을 정의 합니다. 이 함수에 대해 나열 된 래스터 작업은 전체 256 3 개로 구성 된 래스터 연산은 코드;의 제한 된 하위 집합 특히 원본을 참조 하는 래스터 연산은 코드를 사용할 수 없습니다.

일부 장치 컨텍스트를 지원 합니다 PatBlt 함수입니다. 장치 컨텍스트를 지원 하는지 여부를 결정할 PatBlt를 호출 합니다 GetDeviceCaps 멤버 RASTERCAPS 인덱스를 사용 하 여 함수 및 RC_BITBLT 플래그에 대 한 반환 값을 확인 합니다.

CDC::Pie

중심이 고 두 개의 끝점 줄으로 결합 된 타원형 호를 그려 원형 쐐기형을 그립니다.

BOOL Pie(
    int x1,
    int y1,
    int x2,
    int y2,
    int x3,
    int y3,
    int x4,
    int y4);

BOOL Pie(
    LPCRECT lpRect,
    POINT ptStart,
    POINT ptEnd);

매개 변수

x1
(논리 단위)의 경계 사각형의 왼쪽 위 모퉁이의 x 좌표를 지정합니다.

y1
(논리 단위)의 경계 사각형의 왼쪽 위 모퉁이의 y 좌표를 지정합니다.

x2
(논리 단위)의 경계 사각형의 오른쪽 아래 모퉁이의 x 좌표를 지정합니다.

y2
(논리 단위)의 경계 사각형의 오른쪽 아래 모퉁이의 y 좌표를 지정합니다.

x3
원호의 시작점 (논리 단위)에 대 한 x 좌표를 지정합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다.

y3
원호의 시작점 (논리 단위)에 대 한 y 좌표를 지정합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다.

x4
원호의 끝점 (논리 단위)의 x 좌표를 지정합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다.

y4
원호의 끝점 (논리 단위)의 y 좌표를 지정합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다.

lpRect
경계 사각형을 지정합니다. 전달할 수 있습니다는 CRect 개체나에 대 한 포인터를 RECT 이 매개 변수 구조입니다.

ptStart
원호의 시작점을 지정합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다. 전달할 수 있습니다는 지점 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

ptEnd
원호의 끝점을 지정 합니다. 이 여기서는 호에 정확 하 게 식별할 필요가 없습니다. 전달할 수 있습니다는 POINT 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

원호의 중심은 지정 된 경계 사각형의 중심 x1를 y1합니다 x2, 및 y2 (또는 lpRect ). 지정 된 시작 및 끝 지점을 호의 x3를 y3를 x4, 및 y4(또는 ptStart하 고 ptEnd).

호가 시계 반대 방향으로 이동, 선택한 펜을 사용 하 여 그려집니다. 두 줄이 추가로 각 끝점에서 호의 센터로 그려집니다. 원형 영역의 현재 브러시를 사용 하 여 채워집니다. 하는 경우 x3 equals x4 하 고 y3 equals y4, 결과 지점 ( 타원의가운데에서한줄을사용하여타원x3를 y3) 또는 ( x4하십시오 y4).

이 함수를 그린 그림 최대 확장 되지만 오른쪽 아래 좌표를 포함 하지 않습니다. 즉, 도형의 높이 y2 - y1 그림의 너비 이며 x2 - x1합니다. 경계 사각형의 높이 너비 보다 작거나 32,767 단위 2 개 단위 보다 커야 합니다.

예제

C++
void CDCView::DrawPie(CDC* pDC)
{
   // Fill the client area with a simple pie chart. A
   // big blue slice covers 75% of the pie, from
   // 6 o'clock to 3 o'clock. This portion is filled
   // with blue and has a blue edge. The remaining 25%
   // is filled with a red, diagonal hatch and has
   // a red edge.

   // Get the client area.
   CRect rectClient;
   GetClientRect(rectClient);

   // Make a couple of pens and similar brushes.
   CPen penBlue, penRed;
   CBrush brushBlue, brushRed;
   CBrush* pOldBrush;
   CPen* pOldPen;

   brushBlue.CreateSolidBrush(RGB(0, 0, 255));
   brushRed.CreateHatchBrush(HS_FDIAGONAL, RGB(255, 0, 0));
   penBlue.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(0, 0, 255));
   penRed.CreatePen(PS_SOLID | PS_COSMETIC, 1, RGB(255, 0, 0));

   // Draw from 3 o'clock to 6 o'clock, counterclockwise,
   // in a blue pen with a solid blue fill.

   pOldPen = pDC->SelectObject(&penBlue);
   pOldBrush = pDC->SelectObject(&brushBlue);

   pDC->Pie(rectClient,
      CPoint(rectClient.right, rectClient.CenterPoint().y),
      CPoint(rectClient.CenterPoint().x, rectClient.right));

   // Draw the remaining quarter slice from 6 o'clock
   // to 3 o'clock, counterclockwise, in a red pen with
   // the hatched brush.
   pDC->SelectObject(&penRed);
   pDC->SelectObject(&brushRed);

   // Same parameters, but reverse start and end points.
   pDC->Pie(rectClient,
      CPoint(rectClient.CenterPoint().x, rectClient.right),
      CPoint(rectClient.right, rectClient.CenterPoint().y));

   // Restore the previous pen.
   pDC->SelectObject(pOldPen);
}

CDC::PlayMetaFile

장치 컨텍스트에서 지정 된 메타 파일의 콘텐츠를 재생합니다.

BOOL PlayMetaFile(HMETAFILE hMF);

BOOL PlayMetaFile(
    HENHMETAFILE hEnhMetaFile,
    LPCRECT lpBounds);

매개 변수

hMF
재생할 메타 파일을 식별 합니다.

hEnhMetaFile
확장된 메타 파일을 식별합니다.

lpBounds
가리키는 RECT 구조 또는 CRect 그림을 표시 하는 데 사용 하는 경계 사각형의 좌표를 포함 하는 개체입니다. 좌표를 논리 단위로 지정 됩니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

메타 파일에는 임의의 횟수 만큼을 재생할 수 있습니다.

두 번째 버전 PlayMetaFile 지정된 확장 형식 메타 파일에 저장 된 그림을 표시 합니다. 응용 프로그램의 두 번째 버전을 호출 하는 경우 PlayMetaFile, Windows 확장 메타 파일 헤더에 가리키는 사각형에 그림을 매핑할 그림 프레임을 사용 합니다 lpBounds 매개 변수입니다. (이 그림 전단 되었거나 전역 변환을 호출 하기 전에 출력 장치에서 설정 하 여 회전 PlayMetaFile.) 사각형의 가장자리 점 그림에 포함 됩니다. 확장 메타 파일 그림을 확장된 메타 파일을 재생 하기 전에 출력 장치에서 클리핑 영역을 정의 하 여 잘릴 수 있습니다.

응용 프로그램의 두 번째 버전을 호출 하기 전에 출력 장치의 색상표를 설정 하 여 일관 된 색을 얻을 수 확장된 메타 파일에는 선택적 색상표 있으면 PlayMetaFile합니다. 선택적 색상표를 검색 하려면 사용 된 GetEnhMetaFilePaletteEntries Windows 함수입니다. 확장된 메타 파일의 두 번째 버전을 호출 하 여 새로 만든된 확장된 메타 파일에 포함할 수 있습니다 PlayMetaFile 확장 메타 파일을 새 장치 컨텍스트로 원본 향상 된 메타 파일을 재생 하 고 있습니다.

출력 장치 컨텍스트의 상태는이 함수에 의해 유지 됩니다. 이 함수에서 생성 되지만 확장된 메타 파일에서 삭제 되지 않은 모든 개체 삭제 됩니다. 이 함수를 중지 하려면 응용 프로그램에서 호출 수를 CancelDC 다른 스레드에서 작업을 종료 하는 Windows 함수입니다.이 경우 함수는 0을 반환합니다.

CDC::PlgBlt

원본 장치 컨텍스트에서 지정된 된 사각형에서 지정 된 디바이스 컨텍스트에서 지정 된 평행 사변형으로 색 데이터 비트의 비트 블록 전송을 수행합니다.

BOOL PlgBlt(
    LPPOINT lpPoint,
    CDC* pSrcDC,
    int xSrc,
    int ySrc,
    int nWidth,
    int nHeight,
    CBitmap& maskBitmap,
    int xMask,
    int yMask);

매개 변수

lpPoint
대상 평행 사변형의 세 모퉁이 나타내는 논리 공간에서 3 개의 점 배열 가리킵니다. 소스 사각형의 왼쪽 위 모퉁이이 배열, 오른쪽 위 모퉁이이 배열의 두 번째 지점 및 세 번째 지점 왼쪽 아래 모서리에서 첫 번째 요소에 매핑됩니다. 소스 사각형의 오른쪽 아래 모퉁이 평행 사변형에 암시적 네 번째 지점에 매핑됩니다.

pSrcDC
소스 장치 컨텍스트를 식별합니다.

xSrc
논리 단위를 소스 사각형의 왼쪽 위 모퉁이의 x 좌표를 지정합니다.

ySrc
논리 단위를 소스 사각형의 왼쪽 위 모퉁이의 y 좌표를 지정합니다.

nWidth
소스 사각형의 논리 단위에서 너비를 지정 합니다.

nHeight
소스 사각형의 논리 단위에서 높이 지정합니다.

maskBitmap
소스 사각형의 색을 마스크 하는 데 사용 되는 선택적 단색 비트맵을 식별 합니다.

xMask
흑백 비트맵의 왼쪽 위 모퉁이의 x 좌표를 지정합니다.

yMask
흑백 비트맵의 왼쪽 위 모퉁이의 y 좌표를 지정합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

지정 된 비트 마스크 핸들 유효한 단색 비트맵을 식별 하는 경우 함수를 사용 하 여이 비트맵 소스 사각형에서 색 데이터 비트 마스크입니다.

처음 3 개를 처리 하 여 정의 된 평행 사변형 (D)의 네 번째 꼭 짓 점이 컴퓨팅 차원 벡터와 요소 (A, B 및 C) = B + C-1.

비트 마스크 있으면 값이 1 마스크의 원본 픽셀 색 대상에 복사 되어야 함을 나타냅니다. 마스크에 0 값을 지정 대상 픽셀 색이 변경 될 수 없습니다.

마스크 사각형이 소스 및 대상 사각형 보다 작은 경우 함수는 마스크 패턴을 복제 합니다.

원본 장치 컨텍스트에서; 크기 조정, 변환 및 리플렉션 변환이 허용 그러나, 회전 및 기울이기 변환 되지 않습니다. 마스크 비트맵 단색 비트맵을 없으면 오류가 발생 했습니다. 필요한 경우는 픽셀을 늘이거나 하는 방법을 확인 하려면 대상 장치 컨텍스트에 대 한 늘이기 모드 사용 됩니다. 확장된 메타 파일을 기록 되는 경우 소스 장치 컨텍스트를 확장 메타 파일 장치 컨텍스트를 식별 하는 경우 오류가 발생 합니다.

대상 좌표는 대상 장치 컨텍스트에 따라 변환됩니다. 소스 좌표는 소스 장치 컨텍스트에 따라 변환됩니다. 소스 변환에 회전 또는 기울이기, 오류가 반환 됩니다. 대상 및 소스 사각형의 색 형식이 다르면 없으면 PlgBlt 대상 사각형에 맞게 소스 사각형을 변환 합니다. 지원 되지 않는 PlgBlt합니다. 자세한 내용은 RC_BITBLT 래스터 기능에 대 한 설명은 참조 하십시오.는 CDC::GetDeviceCaps 멤버 함수입니다.

원본 및 대상 장치 컨텍스트를 호환 되지 않는 장치를 나타내는 경우 PlgBlt 오류를 반환 합니다.

CDC::PolyBezier

하나 이상의 Bzier 스플라인을 그립니다.

BOOL PolyBezier(
    const POINT* lpPoints,
    int nCount);

매개 변수

lpPoints
배열을 가리킵니다 지점 는 spline(s)의 제어점과 끝점을 포함 하는 데이터 구조입니다.

nCount
에 있는 점의 개수를 지정 합니다 lpPoints 배열입니다. 이 값 하나 그릴 스플라인 수가 세 배 이상 이어야 하며, 두 개의 제어점, 끝점 및 초기 스플라인 각 Bzier 스플라인 필요 하기 때문에 필요한 추가 시작 지점.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 함수를 사용 하 여 끝점으로 지정 된 제어점 입방 형 3 Bzier 스플라인 그립니다 합니다 lpPoints 매개 변수입니다. 첫 번째 스플라인을 그립니다 첫 번째 요소에서 네 번째 지점 제어 지점으로 두 번째 및 세 번째 요소를 사용 하 여 합니다. 시퀀스의 각 후속 스플라인 정확히 세 개 이상의 점 필요: 이전 스플라인의 시작 지점으로 사용 됩니다 하 고 시퀀스의 다음 두 요소는 컨트롤 요소를 세 번째는 끝점입니다.

현재 위치에 사용 되는 아니고에 의해 업데이트 된 PolyBezier 함수입니다. 그림 채워지지 않습니다. 이 함수는 현재 펜을 사용 하 여 줄을 그립니다.

CDC::PolyBezierTo

하나 이상의 Bzier 스플라인을 그립니다.

BOOL PolyBezierTo(
    const POINT* lpPoints,
    int nCount);

매개 변수

lpPoints
배열을 가리킵니다 지점 끝점 및 컨트롤을 포함 하는 데이터 구조를 가리킵니다.

nCount
에 있는 점의 개수를 지정 합니다 lpPoints 배열입니다. 이 값 두 개의 제어점과 끝점 각 Bzier 스플라인 필요 하기 때문에 세 번 스플라인 곡선을 그릴 수 여야 합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 함수에서 지정 된 제어점을 사용 하 여 입방 형 3 Bzier 스플라인 그립니다 합니다 lpPoints 매개 변수입니다. 첫 번째 스플라인을 그립니다 현재 위치에서 세 번째 점과 제어 지점으로 처음 두 요소를 사용 하 여 합니다. 각 후속 스플라인 함수는 정확히 세 개 이상의 점, 하며 다음에 대 한 시작 점으로 이전 스플라인의 끝점을 사용 합니다. PolyBezierTo 마지막 Bzier 스플라인의 현재 위치를 이동합니다.그림 채워지지 않습니다. 이 함수는 현재 펜을 사용 하 여 줄을 그립니다.

예제

예를 참조 하세요 cdc:: beginpath합니다.

CDC::PolyDraw

선 세그먼트 집합과 Bzier 스플라인을 그립니다.

BOOL PolyDraw(
    const POINT* lpPoints,
    const BYTE* lpTypes,
    int nCount);

매개 변수

lpPoints
배열을 가리킵니다 지점 각각에 대 한 끝점을 포함 하는 데이터 구조 줄 세그먼트 및 끝점 및 각 Bzier 스플라인 지점을 제어 합니다.

lpTypes
요소에서 각 방법을 지정 하는 배열을 가리킵니다 합니다 lpPoints 배열을 사용 합니다. 값 중 하나일 수 있습니다.

  • PT_MOVETO 비연속 그림을 시작 하는이 시점을 지정 합니다. 이 지점이 새 현재 위치입니다.

  • 그러면 새 현재 위치는이 시점에 현재 위치에서 그려질 줄이 PT_LINETO 지정 합니다.

  • PT_BEZIERTO이이 지점 인지 제어점 Bzier 스플라인 끝 지점을 지정 합니다.

3 개 단위로 PT_BEZIERTO 형식을 항상 발생합니다. 현재 위치 Bzier 스플라인에 대 한 시작 지점을 정의합니다. 처음 두 PT_BEZIERTO 지점은 제어 지점 및 세 번째 PT_BEZIERTO 지점이 종료 지점이 됩니다. 끝 지점이 새 현재 위치를 보여 줍니다. 세 개의 연속 PT_BEZIERTO 점이 아님 없으면 오류가 발생 합니다.

비트 연산자를 사용 하 여 PT_LINETO 또는 PT_BEZIERTO 형식 다음 상수와 결합 되거나 해당 지점 그림와 그림의 마지막 지점 임을 나타내려면 닫혀:

  • PT_CLOSEFIGURE 그림을 PT_LINETO 후 자동으로 닫혀 또는 PT_BEZIERTO 형식이이 지점에 대해 수행 됩니다 지정 합니다. 이 지점에서 가장 최근의 PT_MOVETO를 줄이 그려집니다 또는 MoveTo 지점입니다.

    이 플래그는 비트를 사용 하 여 Bzier 스플라인 시작점이 PT_BEZIERTO 유형의 또는 줄의 PT_LINETO 형식을 사용 하 여 결합 되어 OR 연산자입니다. 현재 위치는 닫는 줄의 끝 지점으로 설정 됩니다.

nCount
있는 점의 총 개수를 지정 합니다 lpPoints 배열 바이트 수와 동일 합니다 lpTypes 배열 합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 함수에 대 한 연속 호출 대신 비연속 그림을 그리는 데 사용할 수 있습니다 CDC::MoveTo하십시오 CDC::LineTo, 및 CDC::PolyBezierTo 멤버 함수입니다. 선 및 곡선 스플라인 현재 펜으로 그려지고 수치를 채우지 않습니다. 호출 하 여 시작 하는 활성 경로 인지 합니다 CDC::BeginPath 멤버 함수 PolyDraw 경로에 추가 합니다. 에 포함 된 요소를 lpPoints 배열 및 lpTypes 각 지점 일부 인지 여부를 나타내는 CDC::MoveToCDC::LineTo, 또는 CDC::BezierTo 작업 합니다. 그림을 닫을 수 이기도 합니다. 이 함수는 현재 위치를 업데이트합니다.

예제

예를 참조 하세요 cdc:: beginpath합니다.

CDC::Polygon

두 개 이상 (꼭 짓 점) 연결 된 점 현재 펜을 사용 하 여 줄으로 구성 된 다각형을 그립니다.

BOOL Polygon(
    LPPOINT lpPoints,
    int nCount);

매개 변수

lpPoints
다각형의 꼭 짓 점을 지정 하는 요소의 배열 가리킵니다. 배열의 각 요소는 POINT 구조 또는 CPoint 개체입니다.

nCount
배열에서 꼭 짓 점 수를 지정합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

시스템이 닫습니다 다각형 자동으로 필요한 경우 첫 번째와 마지막 꼭지점에서 선을 그려.

현재 다각형 채우기 모드를 검색 하거나 사용 하 여 설정할 수는 GetPolyFillMode 및 SetPolyFillMode 멤버 함수입니다.

예제

C++
void CDCView::DrawPolygon(CDC* pDC)
{
   // find the client area
   CRect rect;
   GetClientRect(rect);

   // draw with a thick blue pen
   CPen penBlue(PS_SOLID, 5, RGB(0, 0, 255));
   CPen* pOldPen = pDC->SelectObject(&penBlue);

   // and a solid red brush
   CBrush brushRed(RGB(255, 0, 0));
   CBrush* pOldBrush = pDC->SelectObject(&brushRed);

   // Find the midpoints of the top, right, left, and bottom
   // of the client area. They will be the vertices of our polygon.
   CPoint pts[4];
   pts[0].x = rect.left + rect.Width()/2;
   pts[0].y = rect.top;

   pts[1].x = rect.right;
   pts[1].y = rect.top + rect.Height()/2;

   pts[2].x = pts[0].x;
   pts[2].y = rect.bottom;

   pts[3].x = rect.left;
   pts[3].y = pts[1].y;

   // Calling Polygon() on that array will draw three lines
   // between the points, as well as an additional line to
   // close the shape--from the last point to the first point
   // we specified.
   pDC->Polygon(pts, 4);

   // Put back the old objects.
   pDC->SelectObject(pOldPen);
   pDC->SelectObject(pOldBrush);
}

CDC::Polyline

지정 된 점을 연결 하는 선 세그먼트 집합 그립니다 lpPoints합니다.

BOOL Polyline(
    LPPOINT lpPoints,
    int nCount);

매개 변수

lpPoints
배열을 가리킵니다 POINT 구조 또는 CPoint 연결 개체입니다.

nCount
배열의 점 개수를 지정합니다. 이 값은 2 이상 이어야 합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

현재 펜을 사용 하 여 후속 지점을 통해 첫 번째 요소에서 줄 그려집니다. 달리 합니다 LineTo 멤버 함수는 Polyline 함수 사용 아니고 현재 위치 업데이트입니다.

자세한 내용은 다중선 Windows SDK에 있습니다.

CDC::PolylineTo

하나 이상의 직선을 그립니다.

BOOL PolylineTo(
    const POINT* lpPoints,
    int nCount);

매개 변수

lpPoints
배열을 가리킵니다 지점 줄의 꼭 짓 점을 포함 하는 데이터 구조입니다.

nCount
배열의 점 개수를 지정합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

지정 된 첫 번째 요소를 현재 위치에서 줄이 그려집니다 합니다 lpPoints 현재 펜을 사용 하 여 매개 변수입니다. 각 추가 행에 대 한 함수 그립니다을 앞 줄의 끝 지점에서 지정 된 다음 지점 lpPoints합니다. PolylineTo 현재 위치를 마지막 줄의 끝 지점을 이동합니다. 이 함수를 그린 선 세그먼트는 폐쇄형된 도형 양식의 그림 채워지지 않습니다.

CDC::PolyPolygon

현재 다각형 채우기 모드를 사용 하 여 입력 된 두 개 이상의 다각형을 만듭니다.

BOOL PolyPolygon(
    LPPOINT lpPoints,
    LPINT lpPolyCounts,
    int nCount);

매개 변수

lpPoints
배열을 가리킵니다 POINT 구조 또는 CPoint 다각형의 꼭지점을 정의 하는 개체입니다.

lpPolyCounts
정수 배열에 요소를 각각 지정 점 개수의 다각형 중 하나에 lpPoints 배열입니다.

nCount
에 있는 항목의 수를 lpPolyCounts 배열입니다. 이 숫자는 그릴 다각형의 수를 지정 합니다. 이 값은 2 이상 이어야 합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

다각형 비연속 되거나 겹치는 수 있습니다.

각 다각형에 대 한 호출에 지정 된 된 PolyPolygon 함수 종료 해야 합니다. 만든 다각형 달리 합니다 Polygon 멤버 함수를 만들어 다각형 PolyPolygon 자동으로 닫혀 있지 않은 합니다.

이 함수는 두 개 이상의 다각형을 만듭니다. 다각형을 만들려면 응용 프로그램을 사용할지는 Polygon 멤버 함수입니다.

현재 다각형 채우기 모드를 검색 하거나 사용 하 여 설정할 수는 GetPolyFillMode 및 SetPolyFillMode 멤버 함수입니다.

CDC::PolyPolyline

여러 일련의 연결 된 선 세그먼트를 그립니다.

BOOL PolyPolyline(
    const POINT* lpPoints,
    const DWORD* lpPolyPoints,
    int nCount);

매개 변수

lpPoints
폴리라인에 대해 꼭 짓 점을 포함 하는 구조체의 배열 가리킵니다. 다중선은 연속적으로 지정 됩니다.

lpPolyPoints
에 있는 점의 개수를 지정 하는 변수의 배열을 가리킵니다 합니다 lpPoints 해당 다각형의 배열입니다. 각 항목은 2 보다 크거나 이어야 합니다.

nCount
패킷의 총 수에 합니다 lpPolyPoints 배열입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

선 세그먼트 현재 펜을 사용 하 여 그려집니다. 세그먼트를 형성 된 수치 채워지지 않았습니다. 현재 위치 사용 아니고이 함수에 의해 업데이트 됩니다.

CDC::PtVisible

장치 컨텍스트의 클립 영역 내에서 지정된 된 점을 인지 확인 합니다.

virtual BOOL PtVisible(
    int x,
    int y) const;

BOOL PtVisible(POINT point) const;

매개 변수

x
요소의 논리적 x 좌표를 지정합니다.

y
요소의 논리적 y 좌표를 지정합니다.

point
체크 인 되는 논리적 좌표를 지정 합니다. 전달할 수 있습니다는 POINT 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

지정된 된 지점 클리핑 영역 내에 있으면 0이 아닌 값 그렇지 않으면 0입니다.

CDC::QueryAbort

설치자 중단 함수를 호출 합니다 SetAbortProc 인쇄를 종료할지 여부를 인쇄 하는 응용 프로그램 및 쿼리에 대 한 멤버 함수입니다.

BOOL QueryAbort() const;

반환 값

반환 값은 인쇄를 계속할지 아니면 중단 프로시저가 없으면 0이 아닌 값입니다. 인쇄 작업을 종료 해야 하는 경우 0입니다. 반환 값은 중단 함수에 의해 제공 됩니다.

CDC::RealizePalette

시스템 색상표에 현재 논리 팔레트에서 항목을 매핑합니다.

UINT RealizePalette();

반환 값

시스템 색상표에 있는 다른 항목에 매핑된 논리 팔레트에서 항목의 개수를 나타냅니다. 이 논리 색상표 현실화 되었습니다. 마지막으로 하므로 시스템 색상표에 있는 변경 내용에 맞게 다시 매핑되고이 함수는 항목의 수를 나타냅니다.

설명

논리 색상표를 다른 windows에서 표시 된 색 또는 색 집약적인 응용 프로그램 및 응용 프로그램이 자체 방해 하지 않고 필요에 따라 여러 색 표시 색을 사용할 수 있도록 시스템 간의 버퍼 역할을 합니다.

창이 입력된 포커스 및 호출을 포함 하는 경우 RealizePalette, Windows 하면 창 화면에서 동시에 사용할 수 있는 최대 수를 최대 요청 된 모든 색을에 표시 됩니다. 또한 Windows 색에서 사용할 수 있는 색에 일치 하는 창의 팔레트에서 찾을 수 없습니다를 표시 합니다.

또한 Windows 색에 최대한 가깝게 함수를 호출 하는 비활성 windows 요청한 색 일치 합니다. 비활성 창에 표시 된 색에서 바람직하지 않은 변화를 크게 줄여줍니다.

CDC::Rectangle

현재 펜을 사용 하 여 사각형을 그립니다.

BOOL Rectangle(
    int x1,
    int y1,
    int x2,
    int y2);

BOOL Rectangle(LPCRECT lpRect);

매개 변수

x1
(논리 단위)에서 사각형의 왼쪽 위 모퉁이의 x 좌표를 지정합니다.

y1
(논리 단위)에서 사각형의 왼쪽 위 모퉁이의 y 좌표를 지정합니다.

x2
사각형 (논리 단위)의 오른쪽 아래 모퉁이의 x 좌표를 지정합니다.

y2
사각형 (논리 단위)의 오른쪽 아래 모퉁이의 y 좌표를 지정합니다.

lpRect
논리 단위에 사각형을 지정합니다. 전달할 수 있습니다는 CRect 개체나에 대 한 포인터를 RECT 이 매개 변수 구조입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

사각형의 내부는 현재 브러시를 사용 하 여 채워집니다.

사각형에 확장 하지만 오른쪽 아래 좌표를 포함 하지 않습니다. 이 사각형의 높이 임을 의미 y2 - y1 사각형의 너비 이며 x2 - x1. 사각형의 높이 너비 보다 작거나 32,767 단위 2 개 단위 보다 커야 합니다.

예제

C++
void CDCView::DrawRectangle(CDC* pDC)
{
   // create and select a solid blue brush
   CBrush brushBlue(RGB(0, 0, 255));
   CBrush* pOldBrush = pDC->SelectObject(&brushBlue);

   // create and select a thick, black pen
   CPen penBlack;
   penBlack.CreatePen(PS_SOLID, 3, RGB(0, 0, 0));
   CPen* pOldPen = pDC->SelectObject(&penBlack);

   // get our client rectangle
   CRect rect;
   GetClientRect(rect);

   // shrink our rect 20 pixels in each direction
   rect.DeflateRect(20, 20);

   // draw a thick black rectangle filled with blue
   pDC->Rectangle(rect);

   // put back the old objects
   pDC->SelectObject(pOldBrush);
   pDC->SelectObject(pOldPen);
}

CDC::RectVisible

지정된 된 사각형의 일부가 디스플레이 컨텍스트의 클립 영역 내에 있는지 여부를 확인 합니다.

virtual BOOL RectVisible(LPCRECT lpRect) const;

매개 변수

lpRect
가리키는 RECT 구조 또는 CRect 지정된 된 사각형의 논리적 좌표를 포함 하는 개체입니다.

반환 값

클리핑 영역 내에 지정된 된 사각형의 일부가 아닌 그렇지 않으면 0입니다.

CDC::ReleaseAttribDC

설정 하려면이 멤버 함수를 호출 m_hAttribDC NULL로 합니다.

virtual void ReleaseAttribDC();

설명

이 발생 하지 않습니다는 Detach 발생 합니다. 에 연결 된 출력 장치 컨텍스트는 CDC 개체와만 분리할 수 있습니다.

CDC::ReleaseOutputDC

설정 하려면이 멤버 함수를 호출 합니다 m_hDC NULL 멤버입니다.

virtual void ReleaseOutputDC();

설명

출력 장치 컨텍스트가에 연결 된 경우에이 멤버 함수를 호출할 수 없습니다는 CDC 개체입니다. 사용 된 Detach 출력 장치 컨텍스트를 분리 하는 멤버 함수입니다.

CDC::ResetDC

로 래핑된 장치 컨텍스트를 업데이트 하는이 멤버 함수를 호출 합니다 CDC 개체입니다.

BOOL ResetDC(const DEVMODE* lpDevMode);

매개 변수

lpDevMode
Windows에 대 한 포인터 DEVMODE 구조입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

장치 컨텍스트는 Windows에서 지정한 정보로 업데이트 됩니다 DEVMODE 구조입니다. 이 멤버 함수에만 특성 장치 컨텍스트를 다시 설정합니다.

응용 프로그램은 일반적으로 사용 합니다 ResetDC 창을 처리 하는 경우 멤버 함수는 WM_DEVMODECHANGE 메시지입니다. 또한 문서를 인쇄 하는 동안 용지 방향 또는 용지 bin을 변경 하려면이 멤버 함수를 사용할 수 있습니다.

드라이버 이름, 장치 이름 변경 또는 출력 포트를이 멤버 함수를 사용할 수 없습니다. 사용자는 포트 연결 또는 장치 이름 변경 되 면 원래 장치 컨텍스트를 삭제 하 고 새 정보로 새 장치 컨텍스트를 만들어야 합니다.

이 멤버 함수를 호출 하기 전에 장치 컨텍스트로 선택 했습니다 (주식 개체)을 제외한 모든 개체가 선택 되어 있는지 확인 해야 합니다.

CDC::RestoreDC

장치 컨텍스트를 식별 하 여 이전 상태로 복원 nSavedDC합니다.

virtual BOOL RestoreDC(int nSavedDC);

매개 변수

nSavedDC
복원 하기 위한 장치 컨텍스트를 지정 합니다. 이전에 의해 반환 된 값 수 SaveDC 함수 호출 합니다. 하는 경우 nSavedDC 가-1 이면 가장 최근에 저장 장치 컨텍스트가 복원 됩니다.

반환 값

지정된 된 컨텍스트를 복원 하는 경우 0이 아닌 값 그렇지 않으면 0입니다.

설명

RestoreDC 장치 컨텍스트 상태 정보에 대 한 이전 호출에서 만든를 스택에서 팝 하 여 복원 된 SaveDC 멤버 함수입니다.

스택 여러 장치 컨텍스트에 대 한 상태 정보를 포함할 수 있습니다. 컨텍스트에서 지정 된 경우 nSavedDC 스택의 맨 위에 있는 아닙니다 RestoreDC 로 지정 된 디바이스 컨텍스트 간의 상태 정보를 모두 삭제 nSavedDC 과 스택의 맨 위입니다. 삭제 된 정보가 손실 됩니다.

CDC::RoundRect

현재 펜을 사용 하 여 모서리가 둥근 사각형을 그립니다.

BOOL RoundRect(
    int x1,
    int y1,
    int x2,
    int y2,
    int x3,
    int y3);

BOOL RoundRect(
    LPCRECT lpRect,
    POINT point);

매개 변수

x1
(논리 단위)에서 사각형의 왼쪽 위 모퉁이의 x 좌표를 지정합니다.

y1
(논리 단위)에서 사각형의 왼쪽 위 모퉁이의 y 좌표를 지정합니다.

x2
사각형 (논리 단위)의 오른쪽 아래 모퉁이의 x 좌표를 지정합니다.

y2
사각형 (논리 단위)의 오른쪽 아래 모퉁이의 y 좌표를 지정합니다.

x3
(논리 단위)에 둥근된 모퉁이 그리는 데 사용 되는 타원의 너비를 지정 합니다.

y3
(논리 단위)에 둥근된 모퉁이 그리는 데 사용 되는 타원의 높이 지정 합니다.

lpRect
논리 단위에서 경계 사각형을 지정합니다. 전달할 수 있습니다는 CRect 개체나에 대 한 포인터를 RECT 이 매개 변수 구조입니다.

point
x 좌표 지점 (논리 단위)에 둥근된 모퉁이 그리는 타원의 너비를 지정 합니다. y 좌표 지점 (논리 단위)에 둥근된 모퉁이 그리는 타원의 높이 지정 합니다. 전달할 수 있습니다는 POINT 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

사각형의 내부는 현재 브러시를 사용 하 여 채워집니다.

이 함수 그립니다 그림을 확장 하 하지만 오른쪽 아래 좌표를 포함 하지 않습니다. 즉, 도형의 높이 y2 - y1 그림의 너비 이며 x2 - x1합니다. 경계 사각형의 너비와 높이 보다 작거나 32,767 단위 2 개 단위 보다 커야 합니다.

예제

C++
void CDCView::DrawRoundRect(CDC* pDC)
{
   // create and select a solid blue brush
   CBrush brushBlue(RGB(0, 0, 255));
   CBrush* pOldBrush = pDC->SelectObject(&brushBlue);

   // create and select a thick, black pen
   CPen penBlack;
   penBlack.CreatePen(PS_SOLID, 3, RGB(0, 0, 0));
   CPen* pOldPen = pDC->SelectObject(&penBlack);

   // get our client rectangle
   CRect rect;
   GetClientRect(rect);

   // shrink our rect 20 pixels in each direction
   rect.DeflateRect(20, 20);

   // Draw a thick black rectangle filled with blue
   // corners rounded at a 17-unit radius. Note that
   // a radius of three or less is not noticeable because
   // the pen is three units wide.
   pDC->RoundRect(rect, CPoint(17, 17));

   // put back the old objects
   pDC->SelectObject(pOldBrush);
   pDC->SelectObject(pOldPen);
}

CDC::SaveDC

Windows에서 유지 관리 하는 컨텍스트 스택에 상태 정보 (예: 클리핑 영역, 선택한 개체 및 매핑 모드)를 복사 하 여 장치 컨텍스트의 현재 상태를 저장 합니다.

virtual int SaveDC();

반환 값

저장 된 장치 컨텍스트를 식별 하는 정수입니다. 오류가 발생 한 경우 0입니다. 이 반환 값을 호출 하 여 장치 컨텍스트를 복원 하려면 사용할 수 있습니다 RestoreDC합니다.

설명

저장 된 장치 컨텍스트를 사용 하 여 나중에 복원할 수 있습니다 RestoreDC합니다.

SaveDC 수 임의의 횟수 만큼 임의 개수의 장치 컨텍스트 상태를 저장 하는 데 사용 합니다.

CDC::ScaleViewportExt

현재 값을 기준으로 뷰포트 익스텐트를 수정합니다.

virtual CSize ScaleViewportExt(
    int xNum,
    int xDenom,
    int yNum,
    int yDenom);

매개 변수

xNum
현재 x-익스텐트를 곱할을 지정 합니다.

xDenom
값으로 현재 x-익스텐트를 곱한 결과 나눌 크기를 지정 합니다 xNum 매개 변수입니다.

yNum
현재 범위를 곱할을 지정 합니다.

yDenom
현재 범위 값을 기준으로 곱한 결과 나눌 크기를 지정 합니다 yNum 매개 변수입니다.

반환 값

로 장치 단위로 이전 뷰포트 익스텐트는 CSize 개체입니다.

설명

수식이 다음과 같이 기록 됩니다.

xNewVE = ( xOldVE * xNum ) / xDenom

yNewVE = ( yOldVE * yNum ) / yDenom

새 뷰포트 범위 지정된 분자에 현재 익스텐트를 곱한 다음 지정 된 분모 나누어로 계산 됩니다.

CDC::ScaleWindowExt

현재 값을 기준으로 창 범위를 수정합니다.

virtual CSize ScaleWindowExt(
    int xNum,
    int xDenom,
    int yNum,
    int yDenom);

매개 변수

xNum
현재 x-익스텐트를 곱할을 지정 합니다.

xDenom
값으로 현재 x-익스텐트를 곱한 결과 나눌 크기를 지정 합니다 xNum 매개 변수입니다.

yNum
현재 범위를 곱할을 지정 합니다.

yDenom
현재 범위 값을 기준으로 곱한 결과 나눌 크기를 지정 합니다 yNum 매개 변수입니다.

반환 값

으로 (논리 단위)에 이전 창 익스텐트는 CSize 개체입니다.

설명

수식이 다음과 같이 기록 됩니다.

xNewWE = ( xOldWE * xNum ) / xDenom

yNewWE = ( yOldWE * yNum ) / yDenom

새 창 범위 지정된 분자에 현재 익스텐트를 곱한 다음 지정 된 분모 나누어로 계산 됩니다.

CDC::ScrollDC

가로 및 세로로 비트의 사각형을 스크롤합니다.

BOOL ScrollDC(
    int dx,
    int dy,
    LPCRECT lpRectScroll,
    LPCRECT lpRectClip,
    CRgn* pRgnUpdate,
    LPRECT lpRectUpdate);

매개 변수

dx
가로 스크롤 단위 수를 지정합니다.

dy
세로 스크롤 단위 수를 지정합니다.

lpRectScroll
가리키는 합니다 RECT 구조 또는 CRect 스크롤 사각형의 좌표를 포함 하는 개체입니다.

lpRectClip
가리키는 합니다 RECT 구조 또는 CRect 클리핑 사각형의 좌표를 포함 하는 개체입니다. 이 사각형은 하나 가리키는 원래 보다 작은 경우 lpRectScroll, 스크롤 작은 사각형에만 발생 합니다.

pRgnUpdate
스크롤 프로세스에 의해 처리 되지 않는 영역을 식별 합니다. ScrollDC 반드시 사각형; 함수는이 영역을 정의 합니다.

lpRectUpdate
가리키는 합니다 RECT 구조 또는 CRect 스크롤 업데이트 영역을 제한 하는 사각형의 좌표를 받는 개체입니다. 이 다시 그리기를 수행 해야 하는 가장 큰 사각형 영역입니다. 구조체 또는 함수에서 반환 하는 개체의 값은 지정 된 장치 컨텍스트에 대 한 매핑 모드에 관계 없이 클라이언트 좌표입니다.

반환 값

스크롤가 실행 하는 경우 0이 아닌 값 그렇지 않으면 0입니다.

설명

하는 경우 lpRectUpdate 가 null 인 경우 Windows 업데이트 사각형을 계산 하지 않습니다. 둘 다 pRgnUpdate 하 고 lpRectUpdate null, Windows 업데이트 영역을 계산 하지 않습니다. 하는 경우 pRgnUpdate NULL이 아니면 Windows 스크롤 프로세스에 의해 처리 되지 않는 지역에 대 한 유효한 포인터를 포함 하는 것으로 가정 (정의한는 ScrollDC 멤버 함수). 반환 된 업데이트 영역의 lpRectUpdate 에 전달할 수 CWnd::InvalidateRgn 필요한 경우.

응용 프로그램을 사용 해야 합니다 ScrollWindow 클래스의 멤버 함수 CWnd 창의 전체 클라이언트 영역을 스크롤 하는 데 필요한 경우. 그렇지 않은 경우 사용 해야 ScrollDC합니다.

CDC::SelectClipPath

지정된 된 모드를 사용 하 여 모든 기존 클리핑 영역을 사용 하 여 새 지역 결합 된 장치 컨텍스트에 대 한 클리핑 영역으로 현재 경로 선택 합니다.

BOOL SelectClipPath(int nMode);

매개 변수

nMode
경로 사용 하는 방법은 지정 합니다. 다음 값이 허용 됩니다.

  • 새 클립 영역 RGN_AND 교집합 (겹치는 영역) 현재 클립 영역과 현재 경로 포함 합니다.

  • 새 클립 영역 RGN_COPY 현재 경로입니다.

  • 새 클립 영역 RGN_DIFF 현재 클리핑 영역의 영역을 포함 하 고 현재 경로가 제외 됩니다.

  • 새 클립 영역 RGN_OR 현재 클립 영역과 현재 경로의 공용 구조체 (결합 된 영역)을 포함합니다.

  • 새 클립 영역 RGN_XOR 겹치는 영역 없이 현재 클립 영역을 현재 경로 통합을 포함 합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

지정 된 디바이스 컨텍스트 닫힌된 경로 포함 해야 합니다.

CDC::SelectClipRgn

장치 컨텍스트에 대 한 현재 클립 영역으로 지정된 된 영역을 선택합니다.

int SelectClipRgn(CRgn* pRgn);

int SelectClipRgn(
    CRgn* pRgn,
    int nMode);

매개 변수

pRgn
선택 영역을 식별 합니다.

  • 이 함수의 첫 번째 버전에 대 한이 값이 NULL 인 경우 전체 클라이언트 영역을 선택 하 고 출력 창에 여전히 잘립니다.

  • 이 함수의 두 번째 버전의 경우이 핸들 RGN_COPY 모드를 지정 하는 경우에 NULL 일 수 있습니다.

nMode
수행할 작업을 지정 합니다. 다음 값 중 하나 여야 합니다.

  • 새 클립 영역 현재 클립 영역과로 식별 되는 지역 겹치는 영역에 결합 RGN_AND pRgn합니다.

  • RGN_COPY 새 클립 영역에서 확인 된 영역의 복사본 인 pRgn합니다. 이 기능은 첫 번째 버전의 동일한 SelectClipRgn입니다. 지역으로 식별할 pRgn 가 null 인 경우 새 클립 영역 기본 클리핑 영역 (null 영역) 됩니다.

  • 새 클립 영역으로 식별 되는 영역에서 제외 하는 영역을 사용 하 여 현재 클리핑 영역의 영역을 결합 RGN_DIFF pRgn합니다.

  • 현재 클립 영역과로 식별 되는 지역 RGN_OR 새 클립 영역을 결합 pRgn합니다.

  • 현재 클립 영역과로 식별 되는 지역 RGN_XOR 새 클립 영역을 결합 pRgn 겹치는 영역을 제외 합니다.

반환 값

영역의 형식입니다. 다음 값 중 하나일 수 있습니다.

  • COMPLEXREGION 새 클립 영역에 테두리를 겹치는 합니다.

  • 오류 장치 컨텍스트 또는 지역 올바르지 않습니다.

  • 새 NULLREGION 클립 영역이 비어 있습니다.

  • SIMPLEREGION 새 클립 영역에 겹치는 테두리가 없습니다.

설명

선택 영역의 복사본이 사용 됩니다. 다양 한 다른 장치 컨텍스트 자체는 영역을 선택할 수 또는 삭제할 수 있습니다.

함수는 지정된 된 영역 좌표 장치 단위에 지정 되어 있는지 가정 합니다. 일부 프린터 장치 텍스트 메트릭을 express 하는 데 필요한 전체 자릿수를 유지 하기 위해 그래픽 출력 보다 더 높은 해상도로 텍스트 출력을 지원 합니다. 이러한 장치는 더 높은 해상도에서는 장치 단위 텍스트 단위에서, 보고합니다. 이러한 장치는 1 개만 그래픽 장치에 장치 단위 지도 보고 여러 되도록 다음 그래픽에 대 한 좌표를 확장 합니다. 항상 호출 해야 합니다 SelectClipRgn 텍스트 단위를 사용 하 여 작동 합니다.

GDI에서 그래픽 개체의 크기 조정을 수행 해야 하는 응용 프로그램 GETSCALINGFACTOR 프린터 이스케이프를 사용 하 여 배율 인수를 결정할 수 있습니다. 이 배율 클리핑을 영향을 줍니다. 지역 그래픽 클립을 사용 하는 경우 GDI 배율으로 좌표를 나눕니다. 지역 클립 텍스트를 사용 하는 경우 GDI를 사용 하면 크기 조정 조정할 수 없습니다. 1의 배율 인수 하면 2로 나눈 좌표 2의 배율 인수 하면 4로 나눈 좌표 등에입니다.

CDC::SelectObject

장치 컨텍스트에 개체를 선택합니다.

CPen* SelectObject(CPen* pPen);
CBrush* SelectObject(CBrush* pBrush);
virtual CFont* SelectObject(CFont* pFont);
CBitmap* SelectObject(CBitmap* pBitmap);
int SelectObject(CRgn* pRgn);
CGdiObject* SelectObject(CGdiObject* pObject);

매개 변수

pPen
에 대 한 포인터를 CPen 개체를 선택 해야 합니다.

pBrush
에 대 한 포인터를 CBrush 개체를 선택 해야 합니다.

pFont
에 대 한 포인터를 CFont 개체를 선택 해야 합니다.

pBitmap
에 대 한 포인터를 CBitmap 개체를 선택 해야 합니다.

pRgn
에 대 한 포인터를 CRgn 개체를 선택 해야 합니다.

pObject
에 대 한 포인터를 CGdiObject 개체를 선택 해야 합니다.

반환 값

바꾸고 있는 개체에 대 한 포인터입니다. 개체에서 파생 된 클래스 중 하나에 대 한 포인터를 이것이 CGdiObject와 같은 CPen사용 되는 함수는 버전에 따라 합니다. 오류가 발생 하는 경우 반환 값은 NULL입니다. 이 함수는 임시 개체에 대 한 포인터를 반환할 수 있습니다. 이 임시 개체는 하나의 Windows 메시지를 처리 하는 동안 유효만 합니다. 자세한 내용은 CGdiObject::FromHandle을 참조하세요.

와 동일한 작업을 수행 하는 지역 매개 변수를 사용 하는 멤버 함수의 버전은 SelectClipRgn 멤버 함수입니다. 반환 값 중 하나일 수 있습니다.

  • COMPLEXREGION 새 클립 영역에 테두리를 겹치는 합니다.

  • 오류 장치 컨텍스트 또는 지역 올바르지 않습니다.

  • 새 NULLREGION 클립 영역이 비어 있습니다.

  • SIMPLEREGION 새 클립 영역에 겹치는 테두리가 없습니다.

설명

클래스 CDC 펜, 브러시, 글꼴, 비트맵 및 영역을 포함 하는 GDI 개체의 특정 종류에 대 한 특수화 된 버전 5 개를 제공 합니다. 새로 선택한 개체를 동일한 유형의 이전 개체를 바꿉니다. 예를 들어 경우 pObject 일반 버전의 SelectObject 가리키는 CPen 개체를 함수에서 지정 된 펜을 사용 하 여 현재 펜 대체 pObject .

응용 프로그램 및 선택할 수 비트맵 메모리 장치 컨텍스트를만 하나만 메모리 장치 컨텍스트를 한 번에. 비트맵의 형식에는 단색 또는 장치 컨텍스트를 사용 하 여 호환 여야 그렇지 않을 경우 SelectObject 오류를 반환 합니다.

Windows 3.1 이상에서는 SelectObject 여부 메타 파일에 사용 되는지 여부를 함수에 같은 값을 반환 합니다. Windows, 이전 버전에서 SelectObject 메타 파일에 사용 된 경우 성공에 대 한 0이 아닌 값 및 실패에 대 한 0을 반환 합니다.

CDC::SelectPalette

선택 하 여 지정 된 논리 색상표 pPalette 장치 컨텍스트의 선택 된 색상표 개체입니다.

CPalette* SelectPalette(
    CPalette* pPalette,
    BOOL bForceBackground);

매개 변수

pPalette
선택 논리 팔레트를 식별 합니다. 이 색상표 이미 만들어져 있어야와 합니다 CPalette 멤버 함수 CreatePalette합니다.

bForceBackground
논리 색상표 백그라운드 색상표 되도록 강제 여부를 지정 합니다. 하는 경우 bForceBackground 는 0이 아닌 경우 선택한 색상표는 항상 백그라운드 색상표를 창의 입력된 포커스가 있는지 여부에 관계 없이 합니다. 하는 경우 bForceBackground 은 0 및 장치 컨텍스트 창에 연결 되는 논리 색상표 전경 색상표를 창에 입력된 포커스를 합니다.

반환 값

에 대 한 포인터를 CPalette 개체를 식별 하 여 지정 된 색상표에 따라 대체 논리 색상표 pPalette합니다. 오류가 발생 하는 경우 NULL입니다.

설명

새 색상표 장치 컨텍스트에서 표시 되는 컨트롤 색을 GDI에서 사용 되는 색상표 개체 되며 이전 색상표를 대체 합니다.

응용 프로그램은 둘 이상의 장치 컨텍스트로 논리 색상표를 선택할 수 있습니다. 그러나 논리 팔레트 변경 내용을 선택 된 모든 장치 컨텍스트에 영향 을지 않습니다. 둘 이상의 장치 컨텍스트로 색상표를 선택 하는 응용 프로그램, 장치 컨텍스트 모두 동일한 물리적 장치에 속해야 합니다.

CDC::SelectStockObject

선택 된 CGdiObject 를 미리 정의 된 스톡 펜, 브러시, 글꼴 중 하나에 해당 하는 개체입니다.

virtual CGdiObject* SelectStockObject(int nIndex);

매개 변수

nIndex
원하는 주식 개체의 종류를 지정 합니다. 다음 값 중 하나일 수 있습니다.

  • BLACK_BRUSH 검정 브러시입니다.

  • DKGRAY_BRUSH 진한 회색 브러시입니다.

  • GRAY_BRUSH 회색 브러시입니다.

  • 속이 빈 HOLLOW_BRUSH 브러시입니다.

  • LTGRAY_BRUSH 밝은 회색 브러시입니다.

  • NULL_BRUSH Null 브러시입니다.

  • WHITE_BRUSH 백서 브러시입니다.

  • BLACK_PEN 검정 펜입니다.

  • Null NULL_PEN 펜입니다.

  • WHITE_PEN 백서 펜입니다.

  • ANSI_FIXED_FONT ANSI 시스템 글꼴을 고정 합니다.

  • ANSI_VAR_FONT ANSI 변수 시스템 글꼴입니다.

  • DEVICE_DEFAULT_FONT 장치 종속적 글꼴입니다.

  • OEM_FIXED_FONT OEM 종속 글꼴을 고정 합니다.

  • 시스템 글꼴 SYSTEM_FONT 합니다. 기본적으로 Windows 시스템 글꼴 사용 하 여 메뉴, 대화 상자 컨트롤 및 기타 텍스트를 그립니다. 그러나 대화 상자 및 창에 사용할 글꼴을 가져오려고 SYSTEM_FONT 의존 하 여 하지는 것이 좋습니다 합니다. 대신는 SystemParametersInfo 현재 글꼴을 검색할 SPI_GETNONCLIENTMETRICS 매개 변수를 사용 하 여 함수입니다. SystemParametersInfo 현재 테마를 고려 하 고 캡션, 메뉴 및 메시지 대화 상자에 대 한 글꼴 정보를 제공 합니다.

  • SYSTEM_FIXED_FONT 버전 3.0 이전의 Windows에 사용 된 시스템 고정 폭 글꼴입니다. 이 개체는 Windows의 이전 버전과 호환성을 위해 사용할 수 있습니다.

  • DEFAULT_PALETTE 기본 색상표입니다. 이 색상표에는 시스템 색상표에 있는 20 정적 색입니다.

반환 값

에 대 한 포인터를 CGdiObject 함수에 성공 하는 경우에 대체 된 개체입니다. 가리킨 실제 개체를 CPenCBrush, 또는 CFont 개체입니다. 호출에 실패할 경우 반환 값은 NULL입니다.

CDC::SetAbortProc

인쇄 작업에 대 한 중단 절차를 설치합니다.

int SetAbortProc(BOOL (CALLBACK* lpfn)(HDC, int));

매개 변수

lpfn
중단 절차와 설치를 중단 함수에 대 한 포인터입니다. 콜백 함수에 대 한 자세한 내용은 참조 하세요 cdc:: setabortproc에 대 한 콜백 함수합니다.

반환 값

결과 지정 된 SetAbortProc 함수입니다. 다음 값 중 일부는 보다 가능성이 더 있지만 모두 가능 합니다.

  • SP_ERROR 일반 오류입니다.

  • SP_OUTOFDISK 없습니다 스풀링에 대 한 현재 사용 가능한 디스크 공간이 충분 하 고 공간이 더 이상 없습니다를 사용할 수 있게 됩니다.

  • SP_OUTOFMEMORY 없습니다 스풀링을 위해 사용 가능한 메모리가 부족 합니다.

  • SP_USERABORT 사용자 인쇄 관리자를 통해 작업을 종료 합니다.

설명

사용 하 여 인쇄 작업이 시작 되기 전에 중단 함수를 설정 해야 합니다는 응용 프로그램을 인쇄 작업이 스풀링 중 취소 될 수 있도록 하는 경우는 StartDoc 멤버 함수입니다. 인쇄 관리자 스풀링 응용 프로그램에서 인쇄 작업을 취소 하려면 하거나 아웃의 디스크 공간 상태를 처리할 수 있도록 하는 동안 중단 함수를 호출 합니다. 중단 함수가 설정 되어 있으면 스풀링을 위해 디스크 공간이 충분 하지 않은 경우 인쇄 작업이 실패 합니다.

Microsoft Visual c + +의 기능에 전달 된 콜백 함수 생성을 간소화 하 참고 SetAbortProc합니다. 주소를 전달 합니다 EnumObjects 멤버 함수는 사용 하 여 내보낸 함수에 대 한 포인터 __declspec(dllexport) 와 __stdcall 호출 규칙입니다.

또한 필요가 없습니다에서 함수 이름을 내보낼를 내보내기를 응용 프로그램의 모듈 정의 파일의 문입니다. 대신 사용할 수 있습니다 합니다 내보내기 한정자 함수

BOOL 콜백 내보내기 AFunction ( HDC하십시오 int );

사용 하면 컴파일러가 별칭 지정 없이 이름별 내보내기에 대 한 적절 한 내보내기 레코드를 내보냅니다. 이 대부분의 요구에 적합합니다. 일부 특수 한 경우 서 수 또는 별칭 내보내기 함수를 내보내는 것 처럼 계속 사용 해야는 내보내기를 모듈 정의 파일의 문입니다.

콜백 등록 인터페이스는 이제 형식이 안전한 (올바른 유형의 특정 콜백 함수를 가리키는 함수 포인터에 전달 해야 합니다).

모든 콜백 함수가 콜백 경계를 넘어 예외를 throw 할 수 없습니다 때문에 Windows를 반환 하기 전에 Microsoft Foundation 예외를 트래핑 해야 참고도 합니다. 예외에 대 한 자세한 내용은 문서 참조 예외합니다.

CDC::SetArcDirection

호 및 사각형 함수에 사용 되는 그리기 방향을 설정 합니다.

int SetArcDirection(int nArcDirection);

매개 변수

nArcDirection
새 원호 방향을 지정합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

  • AD_COUNTERCLOCKWISE 수치를 시계 반대 방향으로 그립니다.

  • AD_CLOCKWISE 수치를 시계 방향으로 그립니다.

반환 값

성공할 경우 이전 호 방향을 지정합니다 그렇지 않으면 0입니다.

설명

기본 방향은 시계 반대 방향으로입니다. SetArcDirection 함수는 다음 함수는 그리기 방향을 지정 합니다.

Arc원형
ArcToRectangle
ChordRoundRect
Ellipse

CDC::SetAttribDC

특성 장치 컨텍스트를 설정 하려면이 함수를 호출 m_hAttribDC합니다.

virtual void SetAttribDC(HDC hDC);

매개 변수

hDC
Windows 장치 컨텍스트입니다.

설명

이 멤버 함수를 장치 컨텍스트에 연결 되지 않고는 CDC 개체입니다. 에 연결 된 출력 장치 컨텍스트는 CDC 개체입니다.

CDC::SetBkColor

지정된 된 색을 현재 배경색을 설정합니다.

virtual COLORREF SetBkColor(COLORREF crColor);

매개 변수

crColor
새 배경색을 지정합니다.

반환 값

RGB 색 값으로 이전 배경색입니다. 오류가 발생 하는 경우 반환 값은 0x80000000입니다.

설명

백그라운드 모드 불투명 한 경우 시스템 스타일의 줄 간격, 브러시의 빗살 무늬 줄과 문자 셀의 배경을 간의 간격을 채울 배경색을 사용 합니다. 또한 시스템 색 및 흑백 장치 컨텍스트 간에 비트맵으로 변환 하는 경우 배경색을 사용 합니다.

장치는 지정된 된 색을 표시할 수 없습니다, 경우에 가장 가까운 실제 색 배경색을 설정 됩니다.

CDC::SetBkMode

백그라운드 모드를 설정합니다.

int SetBkMode(int nBkMode);

매개 변수

nBkMode
설정 하는 모드를 지정 합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

  • 불투명 한 배경 텍스트 빗금된 브러시를 하기 전에 현재 배경색으로 채워집니다. 또는 펜 그려집니다. 기본 배경 모드입니다.

  • 투명 한 배경은 그리기 전에 변경 되지 않습니다.

반환 값

이전 배경 모드입니다.

설명

백그라운드 모드 시스템 텍스트, 빗금된 브러시 또는 펜 스타일 실선이 표시 되지 않은 그리기 전에 기존 배경색 그리기 화면에서 제거 되는지 여부를 정의 합니다.

예제

예를 참조 하세요 CWnd::OnCtlColor합니다.

CDC::SetBoundsRect

지정 된 장치 컨텍스트에 대 한 경계 사각형 정보 양을 제어합니다.

UINT SetBoundsRect(
    LPCRECT lpRectBounds,
    UINT flags);

매개 변수

lpRectBounds
가리키는 RECT 구조 또는 CRect 경계 사각형을 설정 하는 데 사용 되는 개체입니다. 사각형 차원 논리적 좌표로 지정 됩니다. 이 매개 변수는 NULL 일 수 있습니다.

flags
누적 된 사각형을 사용 하 여 새 사각형에는 결합 하는 방법을 지정 합니다. 이 매개 변수 값의 조합일 수 있습니다.

  • DCB_ACCUMULATE 추가 하 여 지정 된 사각형이 lpRectBounds (사각형 union 작업을 사용 하 여) 경계 사각형에 있습니다.

  • DCB_DISABLE 범위 누적을 해제 합니다.

  • DCB_ENABLE 범위 누적을 켭니다. (누적 범위에 대 한 기본 설정을 비활성화 됩니다.)

반환 값

함수에 성공 하는 경우 경계 사각형의 현재 상태입니다. 와 같은 플래그, 반환 값의 조합일 수 있습니다 DCB_ 값:

  • 경계 사각형을 DCB_ACCUMULATE 비어 있지 않습니다. 이 값이 항상 설정 됩니다.

  • 누적 DCB_DISABLE 경계 해제 되어 있습니다.

  • DCB_ENABLE 범위 누적 켜져 있습니다.

설명

Windows에는 모든 그리기 작업에 대 한 경계 사각형을 유지할 수 있습니다. 이 사각형을 쿼리 및 응용 프로그램에서 다시 설정 합니다.그리기 범위 비트맵 캐시를 무효화 하는 데 유용 합니다.

CDC::SetBrushOrg

GDI는 응용 프로그램 장치 컨텍스트로 선택 하는 다음 브러시를 할당 하는 원본을 지정 합니다.

CPoint SetBrushOrg(
    int x,
    int y);

CPoint SetBrushOrg(POINT point);

매개 변수

x
X 좌표 (장치 단위로) 새 원본을 지정합니다. 이 값 범위는 0-7 여야 합니다.

y
Y 좌표 (장치 단위로) 새 원본을 지정합니다. 이 값 범위는 0-7 여야 합니다.

point
새 원점의 x 및 y 좌표를 지정합니다. 각 값 범위는 0-7 여야 합니다. 전달할 수 있습니다는 POINT 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

이전 원본 장치 단위로 브러시입니다.

설명

브러시 원점에 대 한 기본 좌표는 (0, 0). 브러시의 원점을 변경 호출를 UnrealizeObject 함수를 CBrush 개체를 호출 SetBrushOrg, 호출를 SelectObject 브러시 장치 컨텍스트로 선택 멤버 함수입니다.

사용 하지 마세요 SetBrushOrg 재고를 사용 하 여 CBrush 개체입니다.

CDC::SetColorAdjustment

지정된 된 값을 사용 하 여 장치 컨텍스트에 대 한 색 조정 값을 설정 합니다.

BOOL SetColorAdjustment(const COLORADJUSTMENT* lpColorAdjust);

매개 변수

lpColorAdjust
가리키는 COLORADJUSTMENT 색 조정 값을 포함 하는 데이터 구조입니다.

반환 값

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

색 조정 값은 입력된에 대 한 호출에 대 한 원본 비트맵의 색을 조정 하는 데는 CDC::StretchBlt 하프톤 모드가 설정 된 경우 멤버 함수입니다.

CDC::SetDCBrushColor

지정 된 색 값으로는 현재 장치 컨텍스트 (DC) 브러시 색을 설정합니다.

COLORREF SetDCBrushColor(COLORREF crColor);

매개 변수

crColor
새 브러시 색을 지정합니다.

반환 값

함수가 성공할 경우 반환 값은 이전 DC 브러시 색 COLORREF 값으로 지정 합니다.

함수가 실패 한 경우 반환 값은 CLR_INVALID 합니다.

설명

이 메서드는 함수의 기능을 에뮬레이트합니다 SetDCBrushColorWindows SDK에 설명 된 대로 합니다.

CDC::SetDCPenColor

지정 된 색 값으로 현재 장치 컨텍스트 (DC) 펜의 색을 설정 합니다.

COLORREF SetDCPenColor(COLORREF crColor);

매개 변수

crColor
새 펜 색을 지정합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Win32 함수를 활용 SetDCPenColorWindows SDK에 설명 된 대로 합니다.

CDC::SetGraphicsMode

지정 된 장치 컨텍스트에 대 한 그래픽 모드를 설정합니다.

int SetGraphicsMode(int iMode);

매개 변수

iMode
그래픽 모드를 지정합니다. 이 매개 변수를 사용할 수 있는 값의 목록을 참조 하세요 SetGraphicsMode합니다.

반환 값

성공 시 이전 그래픽 모드를 반환합니다.

그렇지 않으면 0을 반환합니다. 확장 오류 정보를 가져오기, 호출 GetLastError합니다.

설명

이 메서드는 Windows GDI 함수를 래핑합니다 SetGraphicsMode합니다.

CDC::SetLayout

Left, 아랍어 및 히브리어와 같은 문화권에 대 한 표준 레이아웃을 오른쪽으로 텍스트와 그래픽 장치 컨텍스트에 대 한 레이아웃을 변경 하려면이 멤버 함수를 호출 합니다.

DWORD SetLayout(DWORD dwLayout);

매개 변수

dwLayout
장치 컨텍스트 레이아웃 및 비트맵 플래그를 제어합니다. 다음 값의 조합 수 있습니다.

의미
LAYOUT_BITMAPORIENTATIONPRESERVED에 대 한 호출에 대 한 모든 리플렉션 사용 하지 않도록 설정 cdc:: bitblt 하 고 CDC::StretchBlt합니다.
LAYOUT_RTL기본 가로 레이아웃을 반대인 오른쪽에서 왼쪽으로 설정 합니다.
LAYOUT_LTR기본 레이아웃을 오른쪽으로 설정 합니다.

반환 값

성공 하면 장치 컨텍스트의 이전 레이아웃 합니다.

실패 하면 GDI_ERROR 합니다. 확장 오류 정보를 가져오기, 호출 GetLastError합니다.

설명

일반적으로 사용자가 호출할 없습니다 SetLayout 창에 대 한 합니다. 설정 하 여 창의 오른쪽에서 왼쪽 레이아웃을 제어 대신 합니다 확장 창 스타일 WS_EX_RTLREADING 등입니다. 장치 컨텍스트에 메타 파일, 프린터 등이 레이아웃을 상속 하지 않습니다. 오른쪽에서 왼쪽 레이아웃을 호출 하는 것에 대 한 장치 컨텍스트를 설정 하는 유일한 방법은 SetLayout합니다.

호출 하는 경우 SetLayout (LAYOUT_RTL ), SetLayout MM_ISOTROPIC 매핑 모드를 자동으로 변경 합니다. 에 대 한 후속 호출 결과로 GetMapMode MM_ISOTROPIC MM_TEXT 대신 반환 됩니다.

경우에 따라 같은 많은 비트맵을 사용 하 여 하려는 왼쪽에서 오른쪽 레이아웃을 보존 합니다. 이러한 경우에 호출 하 여 이미지를 렌더링 BitBlt 또는 StretchBlt를 설정한 다음에 대 한 비트맵 제어 플래그 dwLayout LAYOUT_BITMAPORIENTATIONPRESERVED를 합니다.

LAYOUT_RTL 플래그를 사용 하 여 레이아웃을 변경 하면 일반적으로 지정 하는 플래그 오른쪽 또는 왼쪽 바뀝니다. 혼동을 피하기 위해 표준 플래그에 대 한 대체 이름을 정의 하는 것이 좋습니다. 제안 된 대체 플래그 이름 목록에 대해서 SetLayout Windows SDK에 있습니다.

CDC::SetMapMode

매핑 모드를 설정합니다.

virtual int SetMapMode(int nMapMode);

매개 변수

nMapMode
새 매핑 모드를 지정합니다. 다음 값 중 하나일 수 있습니다.

  • MM_ANISOTROPIC 논리 단위는 임의로 배율 조정 된 축이 있는 임의 단위도 변환 됩니다. 매핑 모드 MM_ANISOTROPIC를 설정 하는 경우에 현재 창 또는 뷰 포트란 설정이 변경 되지 않습니다. 단위를 변경 하려면 방향 및 크기 조정, 호출을 SetWindowExt 하 고 SetViewportExt 멤버 함수입니다.

  • 각 논리 단위 MM_HIENGLISH 0.001 인치로 변환 됩니다. 오른쪽에 x는 양의 양의 y 작동 중입니다.

  • MM_HIMETRIC 각 논리 단위는 0.01mm)로 변환 됩니다. 오른쪽에 x는 양의 양의 y 작동 중입니다.

  • MM_ISOTROPIC 논리 단위 변환할 임의 단위 배율 조정 된 축 동일 하 게; 즉, 1 개 단위 x 축 따라은 y 축 따라 단위 1과 같습니다.사용 된 SetWindowExt 및 SetViewportExt 원하는 단위 및 축 방향을 지정 하는 멤버 함수입니다. GDI는 필요에 따라 조정 하면 되도록 x 및 y 단위는 크기는 그대로 유지 합니다.

  • 각 논리 단위 MM_LOENGLISH 0.01 인치로 변환 됩니다. 오른쪽에 x는 양의 양의 y 작동 중입니다.

  • 각 논리 단위 MM_LOMETRIC 0.1 밀리미터로 변환 됩니다. 오른쪽에 x는 양의 양의 y 작동 중입니다.

  • 각 논리 단위 MM_TEXT 장치 1 픽셀으로 변환 됩니다. 오른쪽에 x는 양의 양의 y 중단 되었습니다.

  • MM_TWIPS 각 논리 단위는 1/20 지점의 변환 됩니다. (1/72 인치 지점 이므로 트윕은 1/1440 인치입니다.) 오른쪽에 x는 양의 양의 y 작동 중입니다.

반환 값

이전 매핑 모드입니다.

설명

장치 단위;에 논리 단위를 변환 하는 데 사용 되는 측정 단위를 정의 하는 매핑 모드 또한 장치의 x 축과 y 방향을 정의합니다. GDI 매핑 모드를 사용 하 여 적절 한 장치 좌표에서 논리적 좌표로 변환. MM_TEXT 모드에서는 여기서 1 단위는 1 픽셀씩 같음 장치 픽셀에서 작동 하도록 응용 프로그램을 수 있습니다. 픽셀의 실제 크기에는 장치 마다 달라 집니다.

MM_HIENGLISH "," MM_HIMETRIC "," MM_LOENGLISH "," MM_LOMETRIC, "및" MM_TWIPS 모드 (예: 인치, 밀리미터) 물리적으로 의미 있는 단위로 그리기 해야 하는 응용 프로그램에 유용 합니다. MM_ISOTROPIC 모드는 이미지의 정확한 모양을 유지 해야 하는 경우에 유용 1:1 가로 세로 비율을 확인 합니다. MM_ANISOTROPIC 모드를 독립적으로 조정 되도록 x 및 y 좌표를 수 있습니다.

 참고

호출 하는 경우 SetLayout DC (장치 컨텍스트) 오른쪽에서 왼쪽 레이아웃을 변경 하려면 SetLayout MM_ISOTROPIC 매핑 모드를 자동으로 변경 합니다.

예제

예를 참조 하세요 CView::OnPrepareDC합니다.

CDC::SetMapperFlags

실제 글꼴을 논리 글꼴을 변환 하는 경우에 글꼴 매퍼를 사용한 방법을 변경 합니다.

DWORD SetMapperFlags(DWORD dwFlag);

매개 변수

dwFlag
글꼴의 가로 세로 높이 너비를 장치에 맞게 글꼴 매퍼 시도 하는지 여부를 지정 합니다. 이 값은 ASPECT_FILTERING, 맵 편집기 글꼴만 해당 측면 x와 y 측면와 정확히 일치 지정 된 장치를 선택 합니다.

반환 값

글꼴 매퍼 플래그의 이전 값입니다.

설명

사용 하 고 SetMapperFlags 지정한 장치의 가로 세로 비율을 정확히 일치 하는 실제 글꼴만 선택 하려고 글꼴 매퍼를 합니다.

만 래스터 글꼴을 사용 하는 응용 프로그램에서 사용할 수는 SetMapperFlags 함수 매력적이 고 지정 된 장치에서 읽을 수 있는 글꼴 맵 편집기에서 선택한 글꼴 인지 확인 합니다. 일반적으로 확장성 (트루타입) 글꼴을 사용 하는 응용 프로그램을 사용 하지 마십시오 SetMapperFlags합니다.

실제 글꼴이 논리 글꼴의 사양에 맞는 가로 세로 비율에 있는 경우 GDI는 새 가로 세로 비율을 선택 하 고이 새 가로 세로 비율을 일치 하는 글꼴을 선택 합니다.

CDC::SetMiterLimit

장치 컨텍스트에 대 한 마이터 조인의 길이 대 한 제한을 설정합니다.

BOOL SetMiterLimit(float fMiterLimit);

매개 변수

fMiterLimit
장치 컨텍스트에 대 한 새 마이터 한계를 지정합니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

마이터 길이가 조인의 외부 줄 벽의 교차점으로 조인의 내부에 줄 벽의 교집합에서 거리도 정의 됩니다. 마이터 제한은 선 두께에 대 한 마이터 길이의 최대 허용된 비율입니다. 마이터 제한 기본값은 10.0입니다.

CDC::SetOutputDC

출력 장치 컨텍스트를 설정 하려면이 멤버 함수를 호출 m_hDC합니다.

virtual void SetOutputDC(HDC hDC);

매개 변수

hDC
Windows 장치 컨텍스트입니다.

설명

장치 컨텍스트에 연결 되지 않은 경우에이 멤버 함수를 호출할 수는 CDC 개체입니다. 이 멤버 함수를 설정 합니다 m_hDC 하기 위한 장치 컨텍스트를 연결 하지 않습니다 하지만 CDC 개체입니다.

CDC::SetPixel

지정 되는 색의 가장 가까운 근사값을 지정한 지점에서 설정 하는 픽셀 crColor합니다.

COLORREF SetPixel(
    int x,
    int y,
    COLORREF crColor);

COLORREF SetPixel(
    POINT point,
    COLORREF crColor);

매개 변수

x
설정할 요소의 논리적 x 좌표를 지정 합니다.

y
설정할 요소의 논리적 y 좌표를 지정 합니다.

crColor
지점을 그리는 데 사용 되는 색을 지정 하는 COLORREF RGB 값입니다. 참조 COLORREF 이 값에 대 한 Windows SDK에 있습니다.

point
논리적 x 좌표와 y-설정할 요소의 지정 합니다. 전달할 수 있습니다는 POINT 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

지점은 실제로 그릴 색을 RGB 값입니다. 이 값으로 지정 된 다를 수 있습니다 crColor 해당 색의 근사값을 사용 하는 경우. (잘림 영역 밖에 중요 한 점은) 하는 경우 함수가 실패할 경우 반환 값은-1입니다.

설명

지점 클립 영역에 있어야 합니다. 지점 클립 영역에 없는 경우 함수 일은 없습니다.

모든 장치가 SetPixel 기능을 지원하지는 않습니다. 장치를 지원 하는지 여부를 결정할 SetPixel를 호출 합니다 GetDeviceCaps 멤버 RASTERCAPS 인덱스를 사용 하 여 함수 및 RC_BITBLT 플래그에 대 한 반환 값을 확인 합니다.

CDC::SetPixelV

지정된 된 색의 가장 가까운 근사치를 지정된 된 좌표에서 픽셀을 설정합니다.

BOOL SetPixelV(
    int x,
    int y,
    COLORREF crColor);

BOOL SetPixelV(
    POINT point,
    COLORREF crColor);

매개 변수

x
설정할 요소의 논리 단위 x 좌표를 지정 합니다.

y
설정할 요소의 논리 단위로 y 좌표를 지정 합니다.

crColor
지점을 그리는 데 사용할 색을 지정 합니다.

point
논리적 x 좌표와 y-설정할 요소의 지정 합니다. 전달할 수 있습니다는 지점 데이터 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

지점은 클리핑 영역 및 장치 화면의 표시 부분에 있어야 합니다. 일부 장치는 멤버 함수를 지원합니다. 자세한 내용은 참조에서 RC_BITBLT 기능을 CDC::GetDeviceCaps 멤버 함수입니다. SetPixelV 보다 더 빠릅니다 SetPixel 실제로 그릴 지점의 색 값을 반환 하지 않아도 되기 때문입니다.

CDC::SetPolyFillMode

다각형 채우기 모드를 설정합니다.

int SetPolyFillMode(int nPolyFillMode);

매개 변수

nPolyFillMode
새로운 채우기 모드를 지정합니다. 대체 또는 권선 값일 수 있습니다. Windows 설정 기본 모드는 대체 합니다.

반환 값

성공할 경우 이전 채우기 모드 그렇지 않으면 0입니다.

설명

다각형 채우기 모드에는 대체 되 면 시스템 검색 한 줄에 홀수와 짝수 다각형 양쪽 사이의 영역을 채웁니다. 즉, 시스템 등 세 번째와 네 번째 쪽 사이, 첫 번째 및 두 번째 쪽 사이 영역을 채웁니다. 이 모드는 기본값입니다.

다각형 채우기 모드는 권선의 경우 시스템 영역을 채우는 여부를 결정 하는 그림 그린 방향을 사용 합니다. Polygon에 있는 각 선 세그먼트를 시계 방향 또는 시계 반대 방향에 그려집니다. 그림의 외부에 포함 된 영역에서 가져온 가상 선 시계 방향 선 세그먼트를 통과할 때마다 수는 증가 합니다. 줄 시계 반대 방향으로 선 세그먼트를 통과할 때 카운트가 감소 합니다. 영역 줄 그림의 바깥쪽에 도달할 때 카운트가 0이 아닌 경우 채워집니다.

CDC::SetROP2

현재 그리기 모드를 설정합니다.

int SetROP2(int nDrawMode);

매개 변수

nDrawMode
새 그리기 모드를 지정합니다. 다음 값 중 하나일 수 있습니다.

  • R2_BLACK 픽셀은 검정색 항상입니다.

  • R2_WHITE 픽셀은 흰색 항상입니다.

  • R2_NOP 픽셀 변경 되지 않습니다.

  • R2_NOT 픽셀은 화면 색상의 역함수 값입니다.

  • R2_COPYPEN 픽셀은 펜 색입니다.

  • R2_NOTCOPYPEN 픽셀은 펜 색의 역함수 값입니다.

  • 펜 색 조합과 화면 색상의 역 R2_MERGEPENNOT 픽셀은 (최종 픽셀 (없습니다 화면 픽셀)를 = 또는 펜).

  • R2_MASKPENNOT 픽셀은 모두 펜 일반적인 색 조합과 화면의 역 (최종 픽셀 (없습니다 화면 픽셀) = 및 펜).

  • 펜 색의 역 수 및 화면 색상의 조합을 R2_MERGENOTPEN 픽셀은 (최종 픽셀 (펜) = 또는 화면 픽셀)입니다.

  • R2_MASKNOTPEN 픽셀은 모두 화면에 공통적으로 적용 된 색의 조합 및 펜의 역 (최종 픽셀 (펜) = 및 화면 픽셀)입니다.

  • R2_MERGEPEN 픽셀은 펜 색과 화면 색상의 조합 (최종 픽셀 = 펜 또는 화면 픽셀)입니다.

  • R2_NOTMERGEPEN 픽셀은 반전 R2_MERGEPEN 색상 (최종 픽셀 = 없음 (OR 화면 픽셀 펜)).

  • R2_MASKPEN 픽셀은 펜과 화면 모두에 공통적으로 적용 된 색의 조합 (최종 픽셀 = 펜 AND 화면 픽셀)입니다.

  • R2_NOTMASKPEN 픽셀은 반전 R2_MASKPEN 색상 (최종 픽셀 = 없음 (AND 화면 픽셀 펜)).

  • R2_XORPEN 픽셀은 펜 또는 화면에서 있지만에 색의 조합 (최종 픽셀 = 펜 XOR 화면 픽셀)입니다.

  • R2_NOTXORPEN 픽셀은 반전 R2_XORPEN 색상 (최종 픽셀 = 없음 (펜 XOR 화면 픽셀)).

반환 값

이전 그리기 모드입니다.

Windows SDK에서 지정 된 값 중 하나일 수 있습니다.

설명

그리기 모드 펜의 색 및 채워진된 개체의 내부 표시 표면에서 이미 색과 결합 하는 방법을 지정 합니다.

그리기 모드가입니다 래스터 장치에만 사용 합니다. 벡터 장치에는 적용 되지 않습니다. 그리기 모드는 모든 부울 조합의 두 개의 변수를 사용 하 여 이항 연산자 AND, OR 및 XOR (배타적 OR) 및 단항 연산을 나타내는 이진 래스터 작업 코드입니다.

CDC::SetStretchBltMode

에 대 한 비트맵 확장 모드를 설정 합니다 StretchBlt 멤버 함수입니다.

int SetStretchBltMode(int nStretchMode);

매개 변수

nStretchMode
늘이기 모드를 지정합니다. 다음 값 중 하나일 수 있습니다.

설명
BLACKONWHITE제거 및 기존 픽셀에 대 한 색 값을 사용 하는 부울 AND 연산을 수행 합니다. 흑백 비트맵 비트맵을 사용 하는 경우이 모드는 흰색 픽셀 희생 검정 픽셀이 유지 합니다.
COLORONCOLOR픽셀을 삭제합니다. 이 모드는 해당 정보를 유지 하지 않고 제거 모든 줄의 픽셀을 삭제 합니다.
하프톤대상 사각형의 픽셀의 블록으로 소스 사각형에서 픽셀을 매핑합니다. 픽셀의 대상 블록을 통해 평균 색을의 원본 픽셀 색을 대략적으로 보여 줍니다.
하프톤 늘이기 모드를 설정한 후 응용 프로그램이 Win32 함수를 호출 해야 합니다 SetBrushOrgEx 브러시 원점을 설정 합니다. 이렇게 하려면 실패 한 경우 브러시 잘못 맞춤 발생 합니다.
STRETCH_ANDSCANSWindows 95/98: BLACKONWHITE 동일
STRETCH_DELETESCANSWindows 95/98: COLORONCOLOR 동일
STRETCH_HALFTONEWindows 95/98: 하프톤와 동일 합니다.
STRETCH_ORSCANSWindows 95/98: WHITEONBLACK 동일
WHITEONBLACK제거 및 기존 픽셀에 대 한 색 값을 사용 하는 부울 OR 연산을 수행 합니다. 흑백 비트맵 비트맵을 사용 하는 경우이 모드는 검정 픽셀이 희생 흰색 픽셀을 유지 합니다.

반환 값

이전 확장 모드입니다. STRETCH_ANDSCANS, STRETCH_DELETESCANS, 또는 STRETCH_ORSCANS 수 있습니다.

설명

비트맵 늘이기 모드 정보가 함수를 사용 하 여 압축 되는 비트맵에서 제거 되는 방식을 정의 합니다.

BLACKONWHITE (STRETCH_ANDSCANS) 및 WHITEONBLACK (STRETCH_ORSCANS) 모드는 전경 단색 비트맵 픽셀을 유지 하기 위해 일반적으로 사용 됩니다. COLORONCOLOR (STRETCH_DELETESCANS) 모드를 색 비트맵의 색을 유지 하기 위해 일반적으로 사용 됩니다.

하프톤 모드는 다른 세 가지 모드; 보다 원본 이미지의 더 많은 처리 필요 다른 보다 느린 하지만 더 높은 품질의 이미지를 생성 합니다.또한 SetBrushOrgEx 브러시 잘못 맞춤을 방지 하려면 하프톤 모드를 설정한 후 호출 해야 합니다.

추가 확장 모드 장치 드라이버의 기능에 따라 사용할 수도 있습니다.

CDC::SetTextAlign

텍스트 맞춤 플래그를 설정합니다.

UINT SetTextAlign(UINT nFlags);

매개 변수

nFlags
텍스트 맞춤 플래그를 지정합니다. 플래그는 지점 및 텍스트를 제한 하는 사각형 사이의 관계를 지정 합니다. 현재 위치 또는 텍스트 출력 함수에 의해 지정 된 좌표 지점 수 있습니다. 텍스트를 제한 하는 사각형 인접 문자 셀 텍스트 문자열에 의해 정의 됩니다. 합니다 nFlags 매개 변수는 다음 세 가지 범주에서 하나 이상의 플래그를 수 있습니다. 각 범주에서 하나만 플래그를 선택 합니다. 첫 번째 범주는 x 방향의 텍스트 맞춤을 영향을 줍니다.

  • TA_CENTER 경계 사각형의 가로 가운데를 사용 하 여 지점에 맞춥니다.

  • TA_LEFT 지점 경계 사각형의 왼쪽에 맞춥니다. 이것이 기본 설정입니다.

  • TA_RIGHT 지점 경계 사각형의 오른쪽에 맞춥니다.

두 번째 범주는 y 방향에서 텍스트 맞춤을 영향을 줍니다.

  • TA_BASELINE는 기준선으로 선택한 글꼴의 포인트를 맞춥니다.

  • TA_BOTTOM 지점 경계 사각형의 아래쪽에 맞춥니다.

  • TA_TOP 지점 경계 사각형의 위쪽을 맞춥니다. 이것이 기본 설정입니다.

세 번째 범주는 텍스트를 쓸 때 현재 위치 업데이트 되는지 여부를 결정 합니다.

  • 텍스트 출력 함수를 호출할 때마다 후 현재 위치를 업데이트 하지 TA_NOUPDATECP 않습니다. 이것이 기본 설정입니다.

  • 텍스트 출력 함수를 호출한 후 TA_UPDATECP 업데이트 현재 x 위치입니다. 텍스트의 경계 사각형의 오른쪽에 새 위치가 지정 됩니다. 이 플래그가 설정 된 경우에 대 한 호출에 지정 된 좌표를 TextOut 멤버 함수는 무시 됩니다.

반환 값

이전 텍스트 맞춤 설정으로 성공 합니다. 낮은 순서 바이트 가로 설정을 포함 하 고 높은 순서 바이트가 포함 된 세로 설정을 그렇지 않으면 0입니다.

설명

합니다 TextOut 및 ExtTextOut 멤버 함수는 텍스트 문자열을 표시 또는 장치에서 위치를 지정할 때 이러한 플래그를 사용 합니다. 플래그 지정 및 텍스트를 제한 하는 사각형 사이의 관계를 지정 합니다. 이 요소의 좌표를 매개 변수로 전달 되는 TextOut 멤버 함수입니다. 텍스트 문자열에서 인접 문자 셀에서 텍스트를 제한 하는 사각형 형성 됩니다.

CDC::SetTextCharacterExtra

Intercharacter 간격을 설정합니다.

int SetTextCharacterExtra(int nCharExtra);

매개 변수

nCharExtra
각 문자에 추가 될 추가 공간 (논리 단위)의 크기를 지정 합니다. 현재 매핑 모드 없으면 MM_TEXTnCharExtra 변환 되 고 가장 가까운 픽셀 반올림 합니다.

반환 값

이전 intercharacter 간격의 양입니다.

설명

GDI 장치 컨텍스트에서 텍스트 줄에 쓸 때 바꿈 문자를 포함 하 여 각 문자에이 간격을 추가 합니다. Intercharacter 간격의 기본값은 0입니다.

CDC::SetTextColor

지정된 된 색을 텍스트 색을 설정합니다.

virtual COLORREF SetTextColor(COLORREF crColor);

매개 변수

crColor
텍스트의 색을 RGB 색 값으로 지정합니다.

반환 값

이전 텍스트 색을 RGB 값입니다.

설명

이 장치 컨텍스트 간에 변환 비트맵 색 하는 경우 및 흑백 장치 컨텍스트를 텍스트를 쓸 때 텍스트 색이 사용 됩니다.

장치 지정된 된 색으로 나타낼 수 없는 경우 시스템 텍스트 색을 가장 가까운 실제 색으로 설정 합니다. 지정 된 문자에 대 한 배경색을 SetBkColor 및 SetBkMode 멤버 함수입니다.

예제

예를 참조 하세요 CWnd::OnCtlColor합니다.

CDC::SetTextJustification

Break 문자 문자열에 공백을 추가합니다.

int SetTextJustification(
    int nBreakExtra,
    int nBreakCount);

매개 변수

nBreakExtra
(논리 단위)의 텍스트 줄에 추가 될 총 추가 공간을 지정 합니다. 현재 매핑 모드 없으면 MM_TEXT,이 매개 변수에 의해 지정 된 값이 현재 매핑 모드로 변환 되 고 가장 가까운 장치 단위로 반올림 합니다.

nBreakCount
줄에서 바꿈 문자 수를 지정합니다.

반환 값

함수가 성공할 경우 하나 그렇지 않으면 0입니다.

설명

응용 프로그램이 사용할 수는 GetTextMetrics 글꼴을 검색 하는 멤버 함수는 문자를 중단 합니다.

후 합니다 SetTextJustification 구성원 함수가 호출 되는 텍스트 출력 함수에 대 한 호출 (같은 TextOut) 중단 문자 수가 지정 된 간에 균등 하 게 지정된 된 추가 공간을 배포 합니다. 줄바꿈 문자 일반적으로 공백 문자 (ASCII 32) 이지만 다른 문자로 글꼴에 의해 정의 됩니다.

멤버 함수 GetTextExtent 일반적으로 사용 됩니다 SetTextJustification합니다. GetTextExtent 맞춤 전에 지정된 된 줄의 너비를 계산합니다. 응용 프로그램에서 지정 하는 공간의 양을 확인할 수는 nBreakExtra 매개 변수에서 반환 된 값을 빼서 GetTextExtent 맞춤 후 문자열의 너비에서.

SetTextJustification 함수는 여러 실행에서 다양 한 글꼴 포함 된 줄에 맞게 사용할 수 있습니다. 이 경우 줄 맞춤 하 고 각 실행을 별도로 작성 하 여 증분 생성 해야 합니다.

맞춤 하는 동안 반올림 오류가 발생할 수 있으므로 시스템 현재 오류를 정의 하는 실행 중인 오류 용어를 유지 합니다. 여러 실행이 포함 된 줄을 맞추면 GetTextExtent 자동으로 다음 실행의 정도 계산 하는 것이 오류 용어를 사용 합니다. 이렇게 하면 새 실행 오류를 혼합 하려면 텍스트 출력 함수입니다.

각 줄에 정렬 된 후 다음 줄에 통합 하지 못하도록이 오류 용어 지워야 합니다. 호출 하 여 용어를 지울 수 있습니다 SetTextJustification 사용 하 여 nBreakExtra 0으로 설정 합니다.

CDC::SetViewportExt

장치 컨텍스트의 뷰포트의 x 및 y 익스텐트를 설정합니다.

virtual CSize SetViewportExt(
    int cx,
    int cy);

CSize SetViewportExt(SIZE size);

매개 변수

cx
장치 단위로 뷰포트의 x 범위를 지정합니다.

cy
장치 단위로 뷰포트의 y 범위를 지정합니다.

size
장치 단위로 뷰포트의 x 및 y 범위를 지정합니다.

반환 값

으로 뷰포트의 이전 익스텐트를 CSize 개체입니다. 오류가 발생 하면, 반환 된 x 및 y 좌표 CSize 개체는 모두 0으로 설정 합니다.

설명

장치 컨텍스트 창 함께 뷰포트 GDI 논리 좌표계에서 지점 지점 좌표 시스템의 실제 장치에 매핑되는 방법을 정의 합니다. 즉, GDI 논리적 좌표가 장치 좌표 변환 하는 방법을 정의 합니다.

다음 매핑 모드를 설정 하면 호출 SetWindowExt 고 SetViewportExt 무시 됩니다.

MM_HIENGLISHMM_LOMETRIC
MM_HIMETRICMM_TEXT
MM_LOENGLISHMM_TWIPS

MM_ISOTROPIC 모드 설정 되 면 응용 프로그램에서 호출 해야 합니다 SetWindowExt 멤버 함수를 호출 하기 전에 SetViewportExt입니다.

예제

예를 참조 하세요 CView::OnPrepareDC합니다.

CDC::SetViewportOrg

장치 컨텍스트의 뷰포트 원점을 설정합니다.

virtual CPoint SetViewportOrg(
    int x,
    int y);

CPoint SetViewportOrg(POINT point);

매개 변수

x
X 좌표 (장치 단위로) 뷰포트의 원점을 지정합니다. 장치 좌표계의 범위 내 값 이어야 합니다.

y
Y 좌표 (장치 단위로) 뷰포트의 원점을 지정합니다. 장치 좌표계의 범위 내 값 이어야 합니다.

point
뷰포트의 원점을 지정합니다. 장치 좌표계의 범위 내 값 이어야 합니다. 전달할 수 있습니다는 POINT 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

뷰포트 (장치 좌표)로 이전 출처를 CPoint 개체입니다.

설명

장치 컨텍스트 창 함께 뷰포트 GDI 논리 좌표계에서 지점 지점 좌표 시스템의 실제 장치에 매핑되는 방법을 정의 합니다. 즉, GDI 논리적 좌표가 장치 좌표 변환 하는 방법을 정의 합니다.

뷰포트 원본 GDI 창 원점으로 지정 된 논리적 좌표계에서 지점이 매핑되는 장치 좌표계에 위치를 표시 합니다 SetWindowOrg 멤버 함수입니다. GDI 창 원본 뷰포트 원본에 매핑하는 데 필요한 동일한 프로세스에 따라 다른 모든 요소를 매핑합니다. 예를 들어, 모든 지점 원으로 창 시작 시점에 뷰포트 원본 지점 원으로 됩니다. 마찬가지로, 창 원점을 통과 하는 줄의 모든 지점 뷰포트 원점을 통과 하는 줄에 있게 됩니다.

예제

예를 참조 하세요 CView::OnPrepareDC합니다.

CDC::SetWindowExt

장치 컨텍스트를 사용 하 여 연결 된 창의 x 및 y 익스텐트를 설정 합니다.

virtual CSize SetWindowExt(
    int cx,
    int cy);

CSize SetWindowExt(SIZE size);

매개 변수

cx
X-범위 (논리 단위)에서 창 지정합니다.

cy
Y-범위 (논리 단위)에서 창 지정합니다.

size
X-및 y-익스텐트 (논리 단위)에서 창의 지정합니다.

반환 값

창의 (논리 단위)로 이전 익스텐트는 CSize 개체입니다. 반환 된 x 및 y 좌표 오류가 발생 하는 경우 CSize 개체는 모두 0으로 설정 합니다.

설명

창 디바이스 컨텍스트 지정 된 뷰포트 GDI 논리 좌표계에서 지점 장치 좌표 시스템의 요소에 매핑되는 방법을 정의 합니다.

다음 매핑 모드를 설정 하면 호출 SetWindowExt 고 SetViewportExt 함수가 무시 됩니다.

  • MM_HIENGLISH

  • MM_HIMETRIC

  • MM_LOENGLISH

  • MM_LOMETRIC

  • MM_TEXT

  • MM_TWIPS

MM_ISOTROPIC 모드 설정 되 면 응용 프로그램에서 호출 해야 합니다 SetWindowExt 멤버 함수 호출 하기 전에 SetViewportExt입니다.

예제

예를 참조 하세요 CView::OnPrepareDC합니다.

CDC::SetWindowOrg

장치 컨텍스트의 창 원점을 설정합니다.

CPoint SetWindowOrg(
    int x,
    int y);

CPoint SetWindowOrg(POINT point);

매개 변수

x
창의 새 origin의 논리적 x 좌표를 지정합니다.

y
창의 새 origin의 논리적 y 좌표를 지정합니다.

point
창의 새 origin의 논리적 좌표를 지정합니다. 전달할 수 있습니다는 POINT 구조 또는 CPoint 이 매개 변수에 대 한 개체입니다.

반환 값

이전 원본으로 창의 CPoint 개체입니다.

설명

창 디바이스 컨텍스트 지정 된 뷰포트 GDI 논리 좌표계에서 지점 장치 좌표 시스템의 요소에 매핑되는 방법을 정의 합니다.

창 원본 논리적 좌표계는 GDI 매핑합니다 뷰포트 원점으로 지정 된 장치 좌표 시스템의 지점에 위치를 표시 합니다 SetWindowOrg 함수입니다. GDI 창 원본 뷰포트 원본에 매핑하는 데 필요한 동일한 프로세스에 따라 다른 모든 요소를 매핑합니다. 예를 들어, 모든 지점 원으로 창 시작 시점에 뷰포트 원본 지점 원으로 됩니다. 마찬가지로, 창 원점을 통과 하는 줄의 모든 지점 뷰포트 원점을 통과 하는 줄에 있게 됩니다.

CDC::SetWorldTransform

세계 좌표 공간에서 지정 된 장치 컨텍스트에 대 한 페이지의 공간 사이의 선형 2 차원 변환은 설정합니다. 이 변환은 크기 조정, 회전, 기울이기, 또는 그래픽 출력 변환에 사용할 수 있습니다.

BOOL SetWorldTransform(const XFORM& rXform);

매개 변수

rXform
에 대 한 참조를 XFORM 변환 데이터를 포함 하는 구조입니다.

반환 값

성공 시 0이 아닌 값을 반환 합니다.

그렇지 않으면 0을 반환합니다.

확장 오류 정보를 가져오기, 호출 GetLastError합니다.

설명

이 메서드는 Windows GDI 함수를 래핑합니다 SetWorldTransform합니다.

CDC::StartDoc

새 인쇄 작업을 시작 하는 장치 드라이버에 알립니다 하 고 모든 후속 StartPage 하 고 EndPage 호출 될 때까지 동일한 작업에서 스풀링됩니다 해야는 EndDoc 호출이 발생 합니다.

int StartDoc(LPDOCINFO lpDocInfo);
int StartDoc(LPCTSTR lpszDocName);

매개 변수

lpDocInfo
가리키는 DOCINFO 문서 파일의 이름과 출력 파일의 이름을 포함 하는 구조체입니다.

lpszDocName
문서 파일의 이름을 포함 하는 문자열에 대 한 포인터입니다.

반환 값

함수가 성공 하면 반환 값은 0 보다 큽니다. 이 값은 문서에 대 한 인쇄 작업 식별자입니다.

함수가 실패 한 경우 반환 값은 0 보다 작거나 합니다.

설명

이렇게 하면 문서 한 페이지 이상를 다른 작업을 사용 하 여 섞여 되지 됩니다.

Windows 버전 3.1 이상에서이 함수 STARTDOC 프린터 이스케이프를 대체 합니다. 이 함수를 사용 하 여 둘 이상의 페이지를 포함 하는 문서는 다른 인쇄 작업을 사용 하 여 섞여 되지를 확인 합니다.

StartDoc 메타 파일 내에서 사용 되지 해야 합니다.

예제

이 코드 조각은 기본 프린터를 가져옵니다, 그리고 인쇄 작업을 열리고 "Hello, World!"를 사용 하 여 한 페이지를 스풀링 합니다. 에 해당 합니다. 이 코드에서 출력 텍스트는 프린터의 논리 단위를 조정 되지 않습니다, 출력 텍스트 결과 읽을 수 없는 이러한 소문자로 수 있습니다. 와 같은 함수를 확장 하 여 CDC SetMapModeSetViewportOrg, 및 SetWindowExt, 크기 조정을 수정 데 사용할 수 있습니다.

C++
void CDCView::DoStartDoc()
{
   // get the default printer
   CPrintDialog dlg(FALSE);
   dlg.GetDefaults();

   // is a default printer set up?
   HDC hdcPrinter = dlg.GetPrinterDC();
   if (hdcPrinter == NULL)
   {
      MessageBox(_T("Buy a printer!"));
   }
   else
   {
      // create a CDC and attach it to the default printer
      CDC dcPrinter;
      dcPrinter.Attach(hdcPrinter);

      // call StartDoc() to begin printing
      DOCINFO docinfo;
      memset(&docinfo, 0, sizeof(docinfo));
      docinfo.cbSize = sizeof(docinfo);
      docinfo.lpszDocName = _T("CDC::StartDoc() Code Fragment");

      // if it fails, complain and exit gracefully
      if (dcPrinter.StartDoc(&docinfo) < 0)
      {
        MessageBox(_T("Printer wouldn't initialize"));
      }
      else
      {
        // start a page
        if (dcPrinter.StartPage() < 0)
        {
          MessageBox(_T("Could not start page"));
          dcPrinter.AbortDoc();
        }
        else
        {
          // actually do some printing
          CGdiObject* pOldFont = dcPrinter.SelectStockObject(SYSTEM_FONT);

          dcPrinter.TextOut(50, 50, _T("Hello World!"), 12);

          dcPrinter.EndPage();
          dcPrinter.EndDoc();
          dcPrinter.SelectObject(pOldFont);
        }
      }
   }
}

CDC::StartPage

데이터를 수신 하도록 프린터 드라이버를 준비 하려면이 멤버 함수를 호출 합니다.

int StartPage();

반환 값

보다 크거나 같은 함수에 성공 하면 0 또는 음수 값 오류가 발생 했습니다.

설명

StartPage NEWFRAME 및 BANDINFO 이스케이프를 대체합니다.

인쇄 호출 시퀀스의 개요를 참조 하세요. 합니다 StartDoc 멤버 함수입니다.

시스템에 사용 하지 않도록 설정 합니다 ResetDC 멤버 함수 호출 사이 StartPage 및 EndPage합니다.

예제

예를 참조 하세요 CDC::StartDoc합니다.

CDC::StretchBlt

소스 사각형에서 대상 사각형으로 비트맵을 복사하고 필요 시 비트맵을 늘이거나 줄여 대상 사각형의 크기에 맞춥니다.

BOOL StretchBlt(
    int x,
    int y,
    int nWidth,
    int nHeight,
    CDC* pSrcDC,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    DWORD dwRop);

매개 변수

x
대상 사각형 왼쪽 위 모퉁이의 X 좌표(논리 단위)를 지정합니다.

y
대상 사각형 왼쪽 위 모퉁이의 Y 좌표(논리 단위)를 지정합니다.

nWidth
대상 사각형의 너비(논리 단위)를 지정합니다.

nHeight
대상 사각형의 높이(논리 단위)를 지정합니다.

pSrcDC
소스 장치 컨텍스트를 지정합니다.

xSrc
소스 사각형 왼쪽 위 모퉁이의 X 좌표(논리 단위)를 지정합니다.

ySrc
소스 사각형 왼쪽 위 모퉁이의 Y 좌표(논리 단위)를 지정합니다.

nSrcWidth
소스 사각형의 너비(논리 단위)를 지정합니다.

nSrcHeight
소스 사각형의 높이(논리 단위)를 지정합니다.

dwRop
수행할 래스터 연산을 지정합니다. 래스터 연산 코드는 GDI가 현재 브러시, 가능한 소스 비트맵 및 대상 비트맵을 호출하는 출력 연산에서 색을 결합하는 방법을 정의합니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

  • BLACKNESS 모든 출력을 검정색으로 설정 하면 됩니다.

  • DSTINVERT 대상 비트맵을 반전 합니다.

  • MERGECOPY 부울 AND 연산자를 사용 하 여 소스 비트맵을 패턴과 결합 합니다.

  • MERGEPAINT 부울 OR 연산자를 사용 하 여 대상 비트맵을 사용 하 여 반전 된 소스 비트맵을 결합 합니다.

  • NOTSRCCOPY 반전 된 소스 비트맵을 대상에 복사 합니다.

  • NOTSRCERASE 부울 OR 연산자를 사용 하 여 대상 및 소스 비트맵 결합 결과 반전 합니다.

  • PATCOPY 패턴을 대상 비트맵에 복사합니다.

  • PATINVERT 부울 XOR 연산자를 사용 하는 패턴을 사용 하 여 대상 비트맵과 결합 합니다.

  • PATPAINT 부울 OR 연산자를 사용 하는 패턴을 사용 하 여 반전 된 소스 비트맵을 결합 합니다. 부울 OR 연산자를 사용하여 이 연산의 결과를 대상 비트맵과 결합합니다.

  • 부울 AND 연산자를 사용 하 여 대상 및 소스 비트맵의 픽셀 SRCAND 결합 합니다.

  • SRCCOPY 소스 비트맵을 대상 비트맵에 복사합니다.

  • SRCERASE 대상 비트맵을 반전 하 고 부울 AND 연산자를 사용 하 여 소스 비트맵을 사용 하 여 결과 결합 합니다.

  • 부울 XOR 연산자를 사용 하 여 대상 및 소스 비트맵의 픽셀 SRCINVERT 결합 합니다.

  • 부울 OR 연산자를 사용 하 여 대상 및 소스 비트맵의 픽셀 SRCPAINT 결합 합니다.

  • WHITENESS 모든 출력을 흰색으로 설정 하면 됩니다.

반환 값

비트맵을 그리면 0이 아니고 그렇지 않으면 0입니다.

설명

이 함수는 대상 장치 컨텍스트(SetStretchBltMode로 설정)의 늘이기 모드를 사용하여 비트맵을 늘이거나 줄이는 방법을 결정합니다.

StretchBlt 함수에서 제공한 원본 장치의 비트맵 이동 pSrcDC 멤버 함수가 호출 되 고 장치 컨텍스트 개체가 나타내는 대상 장치에 있습니다. 합니다 xSrcySrc를 nSrcWidth, 및 nSrcHeight 매개 변수는 왼쪽 위 모퉁이 소스 사각형의 크기를 정의 합니다. . 합니다 x를 y를 nWidth, 및 nHeight 매개 변수는 왼쪽 위 모퉁이 대상 사각형의 크기를 제공 합니다. 지정 된 래스터 연산은 dwRop 를 소스 비트맵과 이미 대상 장치에 결합 하는 방법을 정의 합니다.

StretchBlt 함수는 경우 비트맵의 미러 이미지를 만드는의 기호를 nSrcWidth 및 nWidth 또는 nSrcHeight 및 nHeight 매개 변수가 다릅니다. 하는 경우 nSrcWidth 하 고 nWidth 부호가 다른 함수 x 축 따라 비트맵의 미러 이미지를 만듭니다. 하는 경우 nSrcHeight 하 고 nHeight 부호가 다른 함수 y 축 따라 비트맵의 미러 이미지를 만듭니다.

`StretchBlt\` 함수는 메모리에서 소스 비트맵을 늘이거나 줄인 다음 결과를 대상으로 복사합니다. 패턴을 결과와 병합해야 하는 경우 늘어난 소스 비트맵이 대상에 복사될 때까지 병합되지 않습니다. 브러시를 사용하는 경우 대상 장치 컨텍스트의 선택된 브러시입니다.대상 좌표는 대상 장치 컨텍스트에 따라 변환됩니다. 소스 좌표는 소스 장치 컨텍스트에 따라 변환됩니다.

대상, 소스 및 패턴 비트맵의 색 형식이 다르면 StretchBlt는 소스와 패턴 비트맵을 대상 비트맵에 맞게 변환합니다. 대상 장치 컨텍스트의 전경 및 배경 색이 변환에 사용됩니다.

`StretchBlt\`가 단색 비트맵을 컬러로 변환해야 하는 경우 흰색 비트(1)를 배경색으로, 검정색 비트(0)를 전경색으로 설정합니다. 컬러를 단색으로 변환하기 위해 배경색과 일치하는 픽셀을 흰색(1)으로 설정하고 다른 모든 픽셀을 검정색(0)으로 설정합니다. 색이 있는 장치 컨텍스트의 전경 및 배경색이 사용됩니다.

모든 장치가 StretchBlt 기능을 지원하지는 않습니다. 장치를 지원 하는지 여부를 결정할 StretchBlt를 호출 합니다 GetDeviceCaps멤버 RASTERCAPS 인덱스를 사용 하 여 함수 및 RC_STRETCHBLT 플래그에 대 한 반환 값을 확인 합니다.

CDC::StrokeAndFillPath

경로에 모든 열린 그림을 닫고 현재 펜을 사용 하 여 경로의 윤곽선 획 현재 브러시를 사용 하 여 해당 내부를 채웁니다.

BOOL StrokeAndFillPath();

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

장치 컨텍스트는 닫힌된 경로 포함 해야 합니다. StrokeAndFillPath 멤버 함수 경로에 대 한 모든 열린 그림을 닫는 것과 동일한 효과가 및 펜이 넓은 선 그리기 및 채워진된 영역의 경우에도 그리면된 지역 중복 되지를 제외 하 고 경로 개별적으로 입력 합니다.

CDC::StrokePath

현재 펜을 사용 하 여 지정된 된 경로 렌더링 합니다.

BOOL StrokePath();

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

장치 컨텍스트는 닫힌된 경로 포함 해야 합니다.

CDC::TabbedTextOut

탭 정지 위치 배열에 지정 된 값으로 탭을 확장 하 여 지정된 된 위치에 문자열을 작성 하려면이 멤버 함수를 호출 합니다.

virtual CSize TabbedTextOut(
    int x,
    int y,
    LPCTSTR lpszString,
    int nCount,
    int nTabPositions,
    LPINT lpnTabStopPositions,
    int nTabOrigin);

CSize TabbedTextOut(
    int x,
    int y,
    const CString& str,
    int nTabPositions,
    LPINT lpnTabStopPositions,
    int nTabOrigin);

매개 변수

x
문자열의 시작점의 논리적 x 좌표를 지정합니다.

y
문자열의 시작점의 논리적 y 좌표를 지정합니다.

lpszString
그릴 문자열을 가리킵니다. 문자의 배열에 포인터를 전달할 수 있습니다 또는 CString 이 매개 변수에 대 한 개체입니다.

nCount
문자열에 있는 문자의 수를 지정합니다. 하는 경우 nCount 가-1 이면 길이 계산 됩니다.

nTabPositions
탭 정지 위치 배열에 값의 개수를 지정합니다.

lpnTabStopPositions
(논리 단위)의 탭 정지 위치를 포함 하는 배열 가리킵니다. 탭 정지; 오름차순으로 정렬 되어야 합니다. 가장 작은 x 값에는 배열의 첫 번째 항목 이어야 합니다.

nTabOrigin
탭 (논리 단위)에서 확장 되는 시작 위치의 x 좌표를 지정 합니다.

str
CString 지정된 된 문자를 포함 하는 개체입니다.

반환 값

문자열 (논리 단위)로 크기를 CSize 개체입니다.

설명

현재 선택한 글꼴의 텍스트를 씁니다. 하는 경우 nTabPositions 은 0 및 lpnTabStopPositions 가 null 인 경우 탭 평균 문자 너비를 8 시간으로 확장 됩니다.

하는 경우 nTabPositions 가 1 이면 첫 번째 값으로 지정 된 간격 만큼 중지 나뉩니다 탭의 lpnTabStopPositions 배열입니다. 경우는 lpnTabStopPositions 둘 이상의 값을 포함 하는 배열, 탭 정지에 지정한 수까지 배열의 각 값에 대해 설정 됩니다 nTabPositions합니다.합니다 nTabOrigin 매개 변수를 호출 하는 응용 프로그램을 허용 합니다 TabbedTextOut 한 줄에 여러 번 함수입니다. 응용 프로그램 함수를 두 번 이상 호출 된 경우는 nTabOrigin 함수는 지정 된 위치를 기준으로 모든 탭 확장 될 때마다 동일한 값으로 설정 합니다 nTabOrigin합니다.

기본적으로 현재 위치는 함수에 의해 사용 또는 업데이트되지 않습니다. 응용 프로그램을 함수를 호출 하는 경우 현재 위치를 업데이트 하는 경우 응용 프로그램이 호출할 수는 SetTextAlign 사용 하 여 멤버 함수 nFlags TA_UPDATECP로 설정 합니다. 이 플래그를 설정 하는 경우 Windows는 무시 합니다 x 하 고 y 후속 호출에서 매개 변수 TabbedTextOut, 대신 현재 위치를 사용 하 여.

CDC::TextOut

현재 선택된 글꼴을 사용하여 지정된 위치에 문자열을 씁니다.

virtual BOOL TextOut(
    int x,
    int y,
    LPCTSTR lpszString,
    int nCount);

BOOL TextOut(
    int x,
    int y,
    const CString& str);

매개 변수

x
텍스트 시작점의 논리적 X 좌표를 지정합니다.

y
텍스트 시작점의 논리적 Y 좌표를 지정합니다.

lpszString
그릴 문자열을 가리킵니다.

nCount
문자열에 있는 문자의 수를 지정합니다.

str
그릴 문자를 포함하는 CString 개체입니다.

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

문자 원본은 문자 셀의 왼쪽 위 모퉁이에 있습니다. 기본적으로 현재 위치는 함수에 의해 사용 또는 업데이트되지 않습니다.

응용 프로그램을 호출할 때 현재 위치를 업데이트 해야 하는 경우 TextOut, 응용 프로그램에서 호출할 수는 SetTextAlign 사용 하 여 멤버 함수 nFlags TA_UPDATECP로 설정 합니다. 이 플래그를 설정 하는 경우 Windows는 무시 합니다 x 하 고 y 후속 호출에서 매개 변수 TextOut, 대신 현재 위치를 사용 하 여.

예제

예를 참조 하세요 cdc:: beginpath합니다.

CDC::TransparentBlt

에 해당 하는 픽셀의 사각형에서 지정 된 소스 장치 컨텍스트를 사용 하 여 대상 장치 컨텍스트에 색 데이터 비트 블록을 전송 하려면이 멤버 함수를 호출 합니다.

BOOL TransparentBlt(
    int xDest,
    int yDest,
    int nDestWidth,
    int nDestHeight,
    CDC* pSrcDC,
    int xSrc,
    int ySrc,
    int nSrcWidth,
    int nSrcHeight,
    UINT clrTransparent);

매개 변수

xDest
대상 사각형의 왼쪽 위 모퉁이의 논리 단위 x 좌표를 지정합니다.

yDest
대상 사각형의 왼쪽 위 모퉁이의 논리 단위로 y 좌표를 지정합니다.

nDestWidth
대상 사각형의 논리 단위에서 너비를 지정 합니다.

nDestHeight
대상 사각형의 논리 단위에서 높이 지정합니다.

pSrcDC
소스 장치 컨텍스트에 대 한 포인터입니다.

xSrc
소스 사각형의 논리 단위에서 x 좌표를 지정합니다.

ySrc
소스 사각형의 논리 단위로 y 좌표를 지정합니다.

nSrcWidth
소스 사각형의 논리 단위에서 너비를 지정 합니다.

nSrcHeight
소스 사각형의 논리 단위에서 높이 지정합니다.

clrTransparent
투명 하 게 처리할 소스 비트맵의 RGB 색입니다.

반환 값

성공하면 TRUE이고, 실패하면 FALSE입니다.

설명

TransparentBlt 투명성에 대 한 허용 RGB 색상으로 표시 되는, 즉 clrTransparent 전송에 대해 투명 하 게 렌더링 됩니다.

자세한 내용은 지연 해야 Windows SDK에 있습니다.

CDC::UpdateColors

클라이언트 영역을 픽셀 단위로 별로 시스템 색상표에서 현재 비교 하 여 장치 컨텍스트의 클라이언트 영역 색이 업데이트 됩니다.

void UpdateColors();

설명

비활성 창 표시 논리 색상표를 사용 하 여 호출할 수 있습니다 UpdateColors 시스템 색상표에 변경 될 때 해당 클라이언트 영역을 다시 그리기를 대신 합니다.

색상표를 사용 하는 방법에 대 한 자세한 내용은 참조 하세요. UpdateColors Windows SDK에 있습니다.

UpdateColors 멤버 함수 일반적으로 업데이트를 클라이언트 영역 영역의 다시 그리기 보다 빠릅니다. 그러나 함수 색 번역 시스템 색상표를 변경 하기 전에 각 픽셀의 색상을 기반으로 수행 하므로 몇 가지 색 정확도 손실에이 함수를 호출할 때마다 발생 합니다.

CDC::WidenPath

현재 장치 컨텍스트로 선택 펜을 사용 하 여 경로 된 스트로크 그릴 영역으로 현재 경로 재정의 합니다.

BOOL WidenPath();

반환 값

함수가 성공하면 0이 아니고 그렇지 않으면 0입니다.

설명

이 함수는 현재 펜 기하학적 펜의 두 번째 버전에서 만들어진 경우에 성공 CreatePen 멤버 함수 또는 펜의 첫 번째 버전을 사용 하 여 만들어지는 경우 CreatePen 에 폭이 1 보다 큰 장치 단위에서 및 합니다. 장치 컨텍스트는 닫힌된 경로 포함 해야 합니다. 경로에 모든 Bzier 곡선 직선 넓은 곡선 대표값으로 어림 잡습니다 시퀀스로 변환 됩니다. 뒤의 경로에 없는 Bzier 곡선을 유지 하는 이와 같이 WidenPath 라고 합니다.

참고자료

CObject 클래스
계층 구조 차트
CPaintDC 클래스
CWindowDC 클래스
CClientDC 클래스
CMetaFileDC 클래스