簡介
CDC類中,常用的一些成員函式。
CDC
CObject
└CDC
CDC對象提供處理顯示器或印表機等
設備上下文的成員函式,以及處理與視窗客戶區對應的顯示上下文的成員。
通過CDC對象的成員函式進行所有的繪圖。
它還為獲取和設定繪圖屬性、映射,處理視點、視窗擴展、轉換坐標,處理區域、剪貼、繪製直線及繪製簡單橢圓和多邊形等形狀提供了成員函式。
另外還為繪製文本、處理字型,使用印表機跳轉,滾動和播放元檔案提供成員函式。
使用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是一個輸出調用)。
可能多次需要來自m_hDC和m_hAttribDC
設備上下文的文本度量信息。
以下幾對函式提供了這項功能:
使用m_hAttribDC 使用m_hDC
GetTextMetrics GetOutputTextMetrics
有關CDC的更多信息,請參閱在線上文檔“Visual C++程式設計師指南”中的“
設備上下文”。
#include <afxwin.h>
請參閱:CPaintDC, CClientDC, CWindowDC, CMetaFileDC
CDC類成員
數據成員 m_hDC CDC對象使用的輸出設備上下文
m_hAttribDC CDC對象使用的輸出屬性上下文
初始化 CreateDC 為指定設備創建設備上下文
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 返回顯示設備上下文對應的視窗
SaveDC 保存設備上下文當前狀態
RestoreDC 恢復SaveDC保存的設備上下文以前狀態
GetDeviceCaps 獲取有關給定顯示設備功能的指定類型指定設備信息
安全型選擇幫助器 GetBrushOrg 獲取當前畫刷的起點
SetBrushOrg 指定選入設備上下文的下一個畫刷的起點
EnumObjects 枚舉設備上下文中有效的筆和畫刷
顏色和顏色調色板函式 SelectObject 選擇筆等GDI繪圖對象
SelectStockObject 選擇Windows提供的預定義的一個筆、畫刷或字型
繪圖工具函式 GetNearestColor 獲取與給定設備能顯示的指定邏輯顏色最接近的邏輯色
RealizePalette 把當前邏輯調色板中的調色板入口映射到系統調色板
GetHalftoneBrush 獲取半色調畫刷
繪圖屬性函式 GetBkColor 獲取當前背景色
SetBkColor 設定當前背景色
GetBkMode 獲取背景模式
GetPolyFillMode 獲取當前多邊形填充模式
SetPolyFillMode 設定多邊形填充模式
GetROP2 獲取當前繪圖模式
SetStretchBltMode 設定點陣圖拉伸模式
SetTextColor 設定文本顏色
SetMapMode 設定當前映射模式
GetViewportOrg 獲取視區起點的X和Y坐標
SetViewportOrg 設定視區起點
OffsetViewportOrg 相對於當前視區起點坐標修改視區起點
GetViewportExt 獲取視區X和Y範圍
ScaleViewportExt 相對於當前值修改視區範圍
GetWindowOrg 獲取參應視窗起點的X和Y坐標
SetWindowOrg 設定設備上下文的視窗起點
OffsetWindowOrg 相對於當前視窗起點的坐標修改視窗起點
GetWindowExt 獲取對應視窗的X和Y坐標
ScaleWindowExt 相對於當前值修改視窗範圍
坐標函式 DPtoHIMETRIC 設備單位轉換為HIMETRIC單位
LPtoHIMETRIC 邏輯單位轉換為HIMETRIC單位
DPtoLP 設備單位轉換為邏輯單位
LPtoDP 邏輯單位轉換為設備單位
HIMETRICtoDPHIMETRIC 單位轉換為設備單位
HIMETRICtoLPHIMETRIC 單位轉換為邏輯單位
區域函式 FillRgn 用指定畫刷填充指定區域
InvertRgn 反轉區域中的顏色
剪下函式 SetBoundsRect 控制指定設備上下文綁定的矩形信息的累計
ExcludeUpdateRgn 通過從剪下區域排除視窗中的更新區域,防止在視窗的無效區域中繪圖
線輸出函式 GetCurrentPosition 獲取筆的當前位置(以邏輯坐標表示)
MoveTo 移動當前位置
LineTo 從當前位置到一點畫直線,但不包括那個點
Arc 畫一段橢圓弧
ArcTo 畫一段橢圓弧。除了更新當前位置以外,這個函式與Arc類似
AngleArc 畫一條線段和圓弧,把當前位置移到圓弧終點
SetArcDirection 設備圓弧和矩形函式要用到的繪圖方向
PolyDraw 畫一組線段和Bezier樣條。這個函式更新當前位置Polyline畫一組與指定點連線的線段
簡單繪圖函式 FillRect 用指定畫刷填充給定矩形
InvertRect 反轉矩形內容
DrawIcon 繪製圖示
DrawDragRect 拖拽矩形時擦除並重繪它
FillSolidRect 用實顏色填充矩形
Draw3Drect 繪製三維矩形
DrawFrameControl 繪製幀控制項
DrawState 顯示圖像並套用可視化效果來表示一個狀態
橢圓和多邊形函式 Chord 繪製橢圓弧(橢圓和一條線段相交圍成的閉合圖形)
Ellipse 繪製橢圓
Pie 繪製餅形圖
Polygon 繪製多邊形,包含由線段連線的一個或多個點(頂點)
PolyPolygon 創建使用當前多邊形填充模式的兩個或多個多邊形,多邊形可以相互分開或疊加
Polyline 繪製多邊形,包含連線指定點的一組線段
Rectangle 使用當前筆繪製矩形,用當前畫刷填充
RoundRect 使用當前筆繪製圓角矩形,用當前畫刷填充
BitBlt 從指定設備上下文拷貝點陣圖
StretchBlt 把
點陣圖由源矩形和設備移動到目標矩形,必要時拉伸或壓縮點陣圖以適合目標矩形的維數
SetPixel 設定指定點像素為最接近指定色的近似值
SetPixelV 設定指定點坐標為最接近指定色的近似值。SetPixelV比SetPixel快,原因是它不用返回實際繪製點的顏色值
FloodFill 用當前畫刷填充區域
文本函式 TextOut 用當前選取字型在指定位置寫字元串
ExtTextOut 用當前選取字型在矩形區域寫字元串
DrawText 在指定矩形內繪製格式化文本
GetOutputTextExtent 使用當前字型在輸出設備上下文上計算文本行的寬度和高度,確定維數
GetOutputTabbedTextExtent 使用當前字型在輸出設備上下文上計算字元串的寬度和高度
GrayString 在給定位置繪製暗(灰色)
文本GetTextAlign 獲取文本對齊標記
SetTextAlign 設定文本對齊標記
GetTextMetrics 從屬性設備上下文為當前字型獲取度量
GetOutputTextMetrics 從輸出設備上下文為當前字型獲取度量
GetKerningPairs 獲取指定設備上下文中當前選取的字型字元實對
GetCharABCWidths 從當前字型獲取給定範圍相繼字元以邏輯單位計數的寬度
GetOutputCharWidth 從使用輸出設備上下文的當前字型獲取相繼字元組中各個字元的寬度
GetAspectRatioFilter 獲取當前長寬比過濾器的設定
印表機跳離函式 QueryAbort 對列印套用調用AbortPro回滾函式,詢問列印是否應終止
Escape 允許套用訪問不能通過GDI直接使用的特殊設備的功能。同時允許訪問Windows跳離函式。套用調用的Escape調用經翻譯傳送到設備
驅動程式StartDoc 通告設備驅動程式開始一項新列印作業
StartPage 通告設備驅動程式開始新頁
AbortDoc 終止當前列印任務,擦除自上次調用StartDoc成員函式以來套用寫入設備的任何內容
EndDoc 結束由StartDoc成員函式啟動的列印作業
元檔案函式 PlayMetaFile 在給定設備上播放指定元檔案類型。增強版本的PlayMetaFile顯示以增強格式元檔案保存的圖片。元檔案可以播放任意次數
AddMetaFileComment 從緩衝區把注釋拷貝到指定增強格式元檔案
BeginPath 打開設備上下文中一個路徑括弧
EndPath 關閉一個路徑括弧,並把括弧定義的路徑選擇到
設備上下文FillPath 關閉當前路徑中任何打開的圖表,並用當前畫刷和多邊形填充模式填充路徑內部
GetMiterLimit 返回用於設備上下文的限制
GetPath 獲取定義直線端點和從選擇到設備上下文路徑中找到的曲線控制點的坐標
SelectClipPath 對
設備上下文選擇當前路徑作為剪下區域,通過使用指定模式合併新區域和任何現有剪下區域
SetMiterLimit 設備用於設備上下文的連線長度限制
StrokeAndFillPath 關閉路徑中任何打開的圖表,使用當前筆點路徑外線,使用當前畫刷填充它內部
StrokePath 使用當前筆描繪指定路徑
WidenPath 如果
路徑使用過了當前選取到
設備上下文中的筆點,重新定義當前路徑為要畫的區域