MFC中CDC畫線總結
MFC畫線需要起點座標和終點座標,利用通過MoveTo函式和的LineTo函式來連線起點和終點形成線.MFC提供了一個繪圖的封裝類CDC,CDC類的派生類如下圖所示,所以MFC的畫線就有5種:CDC,CDlinetDC,CMeatFileDC(未驗證),CPaintDC,CWindowDC本文對上述四種方法進行演示。
畫圖就是得到當前畫圖視窗的裝置描述表,一般使用的GetDC()函式獲得;然後將其與CDC裝置描述表相關聯。
m_ptOrigin畫線起點,點畫線終點。
1.CDC
CDC * pDC = GetDC(); 了pdc->通過MoveTo(m_ptOrigin);
2. CClientDC是CDC的派生類,在建構函式時呼叫DetDC,在分構時呼叫ReleaseDC,所以在使用時不需要顯示的呼叫GetDC函式.CClientDC dc(this); dc.MoveTo(m_ptOrigin); dc.LineTo(點);
3.一個CPaintDC物件只在響應一個WM_PAINT訊息的時候被使用,通常是在你的OnPaint訊息處理成員函式中。
void CDrawView :: OnPaint(){ CPaintDC dc(this);
也可以定義將繪製(DC)函式,並把繪製函式寫在Opaint函式裡,在繪製利用寫繪圖函式。
4.CWindowDC是CDC的派生類,在建構函式時呼叫DetDC,在分構時呼叫ReleaseDC,所以在使用時不需要顯式的呼叫GetDC函式。
CWindowDC dc(GetDesktopWindow()); dc.MoveTo(m_ptOrigin); dc.LineTo(點);
5.可以利用SDK函式來畫圖。
HDC hdc; hdc = :: GetDC(m_hWnd);
CDC 是MFC的DC的一個類,HDC是DC的控制代碼。 API中的一個類似指標的資料型別.CDC等裝置上下文類,含有都類一個的成員變數:m_hDc,用來儲存與該類相關的控制代碼。其道理與CWnd的類提供m_Wnd成員變數儲存與視窗相關的控制代碼。通過SDK函式的GetDC(m_hWnd)得到當前裝置控制代碼。