成員函式

CDC對象的成員函式進行所有的繪圖。 它還為獲取和設定繪圖屬性、映射,處理視點、視窗擴展、轉換坐標,處理區域、剪貼、繪製直線及繪製簡單橢圓和多邊形等形狀提供了成員函式。 另外還為繪製文本、處理字型,使用印表機跳轉,滾動和播放元檔案提供成員函式。

簡介

CDC類中,常用的一些成員函式。

CDC

CObject

└CDC

CDC類定義的是設備上下文對象的類。

CDC對象提供處理顯示器或印表機等設備上下文的成員函式,以及處理與視窗客戶區對應的顯示上下文的成員。

通過CDC對象的成員函式進行所有的繪圖。

類對設備上下文操作提供了成員函式,處理繪圖工具。安全型圖形設備接口(GDI)對象收集,以及處理顏色和調色板。

它還為獲取和設定繪圖屬性、映射,處理視點、視窗擴展、轉換坐標,處理區域、剪貼、繪製直線及繪製簡單橢圓和多邊形等形狀提供了成員函式。

另外還為繪製文本、處理字型,使用印表機跳轉,滾動和播放元檔案提供成員函式。

使用CDC對象時要構造它,然後調用與它平等的、使用設備上下文的Windows函式的成員函式。

在Java中,也有成員函式這一名詞,表示在某一個類中該類的函式(Java中也稱方法),其實現某一功能。

注意事項

Windows 95下所有螢幕坐標限制在16位以內。因此向CDC成員函式傳遞的int必須在-32768至32767之間。

為了特定用途,Microsoft基本類庫提供了幾個CDC派生類。 CPaintDC 包括BeginPaint和EndPaint調用。

CClientDC 管理視窗用戶區對應的顯示上下文。

CWindowDC 管理與整個視窗對應的顯示上下文,包括它的結構和控制項。

CMetaFileDC 與帶元檔案的設備上下文對應。

CDC包含m_hDC和m_hAttribDC兩個設備上下文,它們在CDC對象創建時參考同一個設備。

CDC指導所有對m_hDC的輸出GDI調用以及對m_hAttribDC的大部分屬性GDI調用(GetTextColor是屬性調用的例子,而SetTextColor是一個輸出調用)。

例如框架使用這兩個設備上下文實現CMetaFileDC對象,在從物理設備讀取屬性期間向元檔案傳送輸出。

列印預覽以相同風格在框架中實現。還可以以相似方法在特殊套用代碼中使用這兩個設備上下文。

可能多次需要來自m_hDC和m_hAttribDC設備上下文的文本度量信息。

以下幾對函式提供了這項功能:

使用m_hAttribDC 使用m_hDC

GetTextExtent GetOutputTextExtent

GetTabbedTextExtent GetOutputTabbedTextExtent

GetTextMetrics GetOutputTextMetrics

GetCharWidth GetOutputCharWidth

有關CDC的更多信息,請參閱在線上文檔“Visual C++程式設計師指南”中的“設備上下文”。

#include

請參閱:CPaintDC, CClientDC, CWindowDC, CMetaFileDC

CDC類成員

數據成員 m_hDC CDC對象使用的輸出設備上下文

m_hAttribDC CDC對象使用的輸出屬性上下文

構造函式 CDC 構造一個CDC對象

初始化 CreateDC 為指定設備創建設備上下文

CreateIC 為指定設備創建信息上下文。這提供了一種不創建設備上下文即獲取有關設備信息的快速方式

CreateCompatibleDC 創建記憶體設備上下文,與另一個設備上下文匹配。可以用它在記憶體中準備圖像

DeleteDC 刪除CDC對象對應的Windows設備上下文

FromHandle 給定設備上下文句柄時,返回指向CDC對象的指針。如果CDC對象未附加到句柄,則創建並附加一個臨時CDC對象

DeleteTempMap 由CWinApp空閒時間句柄調用,刪除FromHandle創建的臨時CDC對象。同時分離設備上下文

Attach 把Windows設備上下文附加到這個CDC對象

Detach 從CDC對象分離Windows設備上下文.

SetAttribDC 設定屬性設備上下文m_hAttribDC

SetOutputDC 設定輸出設備上下文m_hDC

ReleaseAttribDC 釋放屬性設備上下文m_hAttribDC

ReleaseOutputDC 釋放輸出設備上下文m_hDC

GetCurrentBitmap 返回指向當前選擇的CBitmap對象的指針

GetCurrentBrush 返回指向當前選擇的CBrush對象的指針

GetCurrentFont 返回指向當前選擇的CFont對象的指針

GetCurrentPalette 返回指向當前選擇的CPalette對象的指針

GetCurrentPen 返回指向當前選擇的CPen對象的指針

GetWindow 返回顯示設備上下文對應的視窗

設備上下文函式 GetSafeHdc 返回輸出設備上下文m_hDC

SaveDC 保存設備上下文當前狀態

RestoreDC 恢復SaveDC保存的設備上下文以前狀態

ResetDC 更新m_hAttribDC設備上下文

GetDeviceCaps 獲取有關給定顯示設備功能的指定類型指定設備信息

IsPrinting 確定正在使用的設備上下文是否用於列印

安全型選擇幫助器 GetBrushOrg 獲取當前畫刷的起點

SetBrushOrg 指定選入設備上下文的下一個畫刷的起點

EnumObjects 枚舉設備上下文中有效的筆和畫刷

顏色和顏色調色板函式 SelectObject 選擇筆等GDI繪圖對象

SelectStockObject 選擇Windows提供的預定義的一個筆、畫刷或字型

繪圖工具函式 GetNearestColor 獲取與給定設備能顯示的指定邏輯顏色最接近的邏輯色

SelectPalette 選擇邏輯調色板

RealizePalette 把當前邏輯調色板中的調色板入口映射到系統調色板

UpdateColors 通過客戶區當前顏色在像素基礎上與系統調色板的匹配,更新設備上下文的客戶區

GetHalftoneBrush 獲取半色調畫刷

繪圖屬性函式 GetBkColor 獲取當前背景色

SetBkColor 設定當前背景色

GetBkMode 獲取背景模式

SetBkMode 設定背景模式

GetPolyFillMode 獲取當前多邊形填充模式

SetPolyFillMode 設定多邊形填充模式

GetROP2 獲取當前繪圖模式

SetROP2 設定當前繪圖模式

GetStretchBltMode 獲取當前點陣圖拉伸模式

SetStretchBltMode 設定點陣圖拉伸模式

GetTextColor 獲取當前文本顏色

SetTextColor 設定文本顏色

GetColorAdjustment 獲取用於設備上下文的顏色調整值

SetColorAdjustment 使用指定值設定設備上下文的顏色調整值

映射函式 GetMapMode 獲取當前映射模式

SetMapMode 設定當前映射模式

GetViewportOrg 獲取視區起點的X和Y坐標

SetViewportOrg 設定視區起點

OffsetViewportOrg 相對於當前視區起點坐標修改視區起點

GetViewportExt 獲取視區X和Y範圍

SetViewportExt 設定視區X和Y範圍

ScaleViewportExt 相對於當前值修改視區範圍

GetWindowOrg 獲取參應視窗起點的X和Y坐標

SetWindowOrg 設定設備上下文的視窗起點

OffsetWindowOrg 相對於當前視窗起點的坐標修改視窗起點

GetWindowExt 獲取對應視窗的X和Y坐標

SetWindowExt 設定對應視窗的X和Y坐標

ScaleWindowExt 相對於當前值修改視窗範圍

坐標函式 DPtoHIMETRIC 設備單位轉換為HIMETRIC單位

LPtoHIMETRIC 邏輯單位轉換為HIMETRIC單位

DPtoLP 設備單位轉換為邏輯單位

LPtoDP 邏輯單位轉換為設備單位

HIMETRICtoDPHIMETRIC 單位轉換為設備單位

HIMETRICtoLPHIMETRIC 單位轉換為邏輯單位

區域函式 FillRgn 用指定畫刷填充指定區域

FrameRgn 用畫刷在指定區域周圍繪製邊線

InvertRgn 反轉區域中的顏色

PaintRgn 用選取的畫刷填充區域

剪下函式 SetBoundsRect 控制指定設備上下文綁定的矩形信息的累計

GetBoundsRect 返回到設備上下文當前累計的綁定矩形

GetClipBox 獲取當前剪下邊界周圍最緊綁定矩形的維數

SelectClipRgn 使用指定模式合併給定區域和當前剪下區域

ExcludeClipRect 創建包含現有剪下區域減掉指定矩形的一個新剪下區域

ExcludeUpdateRgn 通過從剪下區域排除視窗中的更新區域,防止在視窗的無效區域中繪圖

IntersectClipRect 通過構成當前區域和矩形的交集創建一個新的剪下區域

OffsetClipRgn 移動給定設備的剪下區域

PtVisible 確定給定點是否在剪下區域內

RectVisible 確定給定矩形的任何部分是否在剪下區域內

線輸出函式 GetCurrentPosition 獲取筆的當前位置(以邏輯坐標表示)

MoveTo 移動當前位置

LineTo 從當前位置到一點畫直線,但不包括那個點

Arc 畫一段橢圓弧

ArcTo 畫一段橢圓弧。除了更新當前位置以外,這個函式與Arc類似

AngleArc 畫一條線段和圓弧,把當前位置移到圓弧終點

GetArcDirection 對設備上下文返回當前圓弧方向

SetArcDirection 設備圓弧和矩形函式要用到的繪圖方向

PolyDraw 畫一組線段和Bezier樣條。這個函式更新當前位置Polyline畫一組與指定點連線的線段

PolyPolyline 畫多組相連線段。這個函式不使用也不更新當前位置

PolylineTo 畫一條或多條直線,並把當前位置移到最後一條直線的終點

PolyBezier 畫一條或多條Bezier樣條。不使用也不更新當前位置

PolyBezierTo 畫一條或多條Bezier樣條,並把當前位置移到最後一條Bezier樣條的終點

簡單繪圖函式 FillRect 用指定畫刷填充給定矩形

FrameRect 在矩形周圍繪製邊界

InvertRect 反轉矩形內容

DrawIcon 繪製圖示

DrawDragRect 拖拽矩形時擦除並重繪它

FillSolidRect 用實顏色填充矩形

Draw3Drect 繪製三維矩形

DrawEdge 繪製矩形邊

DrawFrameControl 繪製幀控制項

DrawState 顯示圖像並套用可視化效果來表示一個狀態

橢圓和多邊形函式 Chord 繪製橢圓弧(橢圓和一條線段相交圍成的閉合圖形)

DrawFocusRect 繪製用於表示焦點的風格的矩形

Ellipse 繪製橢圓

Pie 繪製餅形圖

Polygon 繪製多邊形,包含由線段連線的一個或多個點(頂點)

PolyPolygon 創建使用當前多邊形填充模式的兩個或多個多邊形,多邊形可以相互分開或疊加

Polyline 繪製多邊形,包含連線指定點的一組線段

Rectangle 使用當前筆繪製矩形,用當前畫刷填充

RoundRect 使用當前筆繪製圓角矩形,用當前畫刷填充

點陣圖函式 PatBlt 創建位特徵

BitBlt 從指定設備上下文拷貝點陣圖

StretchBlt 把點陣圖由源矩形和設備移動到目標矩形,必要時拉伸或壓縮點陣圖以適合目標矩形的維數

GetPixel 獲取指定點像素的RGB顏色值

SetPixel 設定指定點像素為最接近指定色的近似值

SetPixelV 設定指定點坐標為最接近指定色的近似值。SetPixelV比SetPixel快,原因是它不用返回實際繪製點的顏色值

FloodFill 用當前畫刷填充區域

ExtFloodFill 用當前畫刷填充區域。比FloodFill成員函式提供更多靈活性

MaskBlt 使用給定禁止和光柵操作對源和目標點陣圖合併顏色數據

PlgBlt 從源設備上下文的指定矩形到給定設備上下文中指定平行多邊形,執行顏色數據位的位塊傳遞

文本函式 TextOut 用當前選取字型在指定位置寫字元串

ExtTextOut 用當前選取字型在矩形區域寫字元串

TabbedTextOut 在指定位置寫字元串,制表符擴展為制表符停止位置數組中指定值

DrawText 在指定矩形內繪製格式化文本

GetTextExtent 使用當前字型在屬性設備上下文上計算文本行的寬度和高度,確定維數

GetOutputTextExtent 使用當前字型在輸出設備上下文上計算文本行的寬度和高度,確定維數

GetTabbedTextExtent 使用當前字型在屬性設備上下文上計算字元串的寬度和高度

GetOutputTabbedTextExtent 使用當前字型在輸出設備上下文上計算字元串的寬度和高度

GrayString 在給定位置繪製暗(灰色)文本

GetTextAlign 獲取文本對齊標記

SetTextAlign 設定文本對齊標記

GetTextFace 以空終止字元串形式把當前字型字樣名拷貝到緩衝區

GetTextMetrics 從屬性設備上下文為當前字型獲取度量

GetOutputTextMetrics 從輸出設備上下文為當前字型獲取度量

SetTextJustification 把空格添加到字元串的中斷字元

GetTextCharacterExtra 對字元間空格數量獲取當前設定

SetTextCharacterExtra 設定字元間空格數量

字型函式 GetFontData 從比例字型檔獲取字型度量信息。獲取的信息通過指定字型檔與返回信息長度的偏移量標識

GetKerningPairs 獲取指定設備上下文中當前選取的字型字元實對

GetOutlineTextMetrics 獲取用於TrueType字型的字型度量信息

GetGlyphOutline 獲取用於當前字型中外線字元串的外線曲線或點陣圖

GetCharABCWidths 從當前字型獲取給定範圍相繼字元以邏輯單位計數的寬度

GetCharWidth 從當前字型獲取給定範圍相繼字元的分數寬度

GetOutputCharWidth 從使用輸出設備上下文的當前字型獲取相繼字元組中各個字元的寬度

SetMapperFlags 改變字型映射表在從邏輯字型到物理字元映射時使用的算法

GetAspectRatioFilter 獲取當前長寬比過濾器的設定

印表機跳離函式 QueryAbort 對列印套用調用AbortPro回滾函式,詢問列印是否應終止

Escape 允許套用訪問不能通過GDI直接使用的特殊設備的功能。同時允許訪問Windows跳離函式。套用調用的Escape調用經翻譯傳送到設備驅動程式

DrawEscape 訪問通過圖形設備接口(GDI)不能直接使用的視頻顯示器的繪圖功能

StartDoc 通告設備驅動程式開始一項新列印作業

StartPage 通告設備驅動程式開始新頁

EndPage 通告設備驅動程式頁結束

SetAbortProc 如果列印作業必須終止,設定Windows調用的由程式設計師提供的回滾函式

AbortDoc 終止當前列印任務,擦除自上次調用StartDoc成員函式以來套用寫入設備的任何內容

EndDoc 結束由StartDoc成員函式啟動的列印作業

滾動函式 ScrollDC 水平和垂直滾動位矩形

元檔案函式 PlayMetaFile 在給定設備上播放指定元檔案類型。增強版本的PlayMetaFile顯示以增強格式元檔案保存的圖片。元檔案可以播放任意次數

AddMetaFileComment 從緩衝區把注釋拷貝到指定增強格式元檔案

路徑函式 AbortPath 關閉並拒絕設備上下文中任何路徑

BeginPath 打開設備上下文中一個路徑括弧

CloseFigure 關閉路徑中一個打開的圖表

EndPath 關閉一個路徑括弧,並把括弧定義的路徑選擇到設備上下文

FillPath 關閉當前路徑中任何打開的圖表,並用當前畫刷和多邊形填充模式填充路徑內部

FlattenPath 變形選取到當前設備上下文路徑中的任何曲線,把曲線變成一系列直線

GetMiterLimit 返回用於設備上下文的限制

GetPath 獲取定義直線端點和從選擇到設備上下文路徑中找到的曲線控制點的坐標

SelectClipPath 對設備上下文選擇當前路徑作為剪下區域,通過使用指定模式合併新區域和任何現有剪下區域

SetMiterLimit 設備用於設備上下文的連線長度限制

StrokeAndFillPath 關閉路徑中任何打開的圖表,使用當前筆點路徑外線,使用當前畫刷填充它內部

StrokePath 使用當前筆描繪指定路徑

WidenPath 如果路徑使用過了當前選取到設備上下文中的筆點,重新定義當前路徑為要畫的區域

熱門詞條

聯絡我們