裝置內容
裝置內容是 Windows 資料結構,其中包含顯示或印表機等裝置繪圖屬性的相關資訊。 所有繪圖呼叫都是透過裝置內容物件進行,其會封裝用於繪製線條、圖形和文字的 Windows API。 裝置內容允許 Windows 中的裝置獨立繪圖。 裝置內容可用來繪製到螢幕、印表機或中繼檔。
C小畫家DC 物件會封裝 Windows 的常見慣用語,呼叫 BeginPaint
函式,然後在裝置內容中繪製,然後呼叫 函 EndPaint
式。 建 CPaintDC
構函式會為您呼叫 BeginPaint
,而解構函式會呼叫 EndPaint
。 簡化的程式是建立 CDC 物件、繪製,然後終結 CDC
物件。 在架構中,即使是此程式的大部分作業都是自動化的。 特別是,您的 OnDraw
函式會 CPaintDC
傳遞已備妥的 函式(透過 OnPrepareDC
),而您只需要繪製即可。 架構會終結它,而且基礎裝置內容會在從函式呼叫 OnDraw
傳回時釋放至 Windows。
CClientDC 物件會封裝使用只代表視窗工作區的裝置內容。 建 CClientDC
構函式會呼叫 函 GetDC
式,而解構函式會呼叫 函 ReleaseDC
式。 CWindowDC 物件會封裝代表整個視窗的裝置內容,包括其框架。
CMetaFileDC 物件會將繪圖封裝成 Windows 中繼檔。 與傳遞至 的 相反 CPaintDC
,在此情況下,您必須自行呼叫 OnPrepareDC 。 OnDraw
滑鼠繪圖
架構程式中大部分的繪圖,因此大部分的裝置內容工作都是在檢視的成員 OnDraw
函式中完成的。 不過,您仍然可以將裝置內容物件用於其他用途。 例如,若要在檢視中提供滑鼠移動的追蹤意見反應,您必須直接繪製到檢視中,而不需等待 OnDraw
呼叫。
在這種情況下,您可以使用 CClientDC 裝置內容物件直接繪製到檢視中。