最佳答案
在MFC(Microsoft Foundation Classes)編程中,視圖的繪製是經由過程OnDraw函數實現的。本文將具體介紹如何在MFC利用順序中正確挪用OnDraw函數。 總結來說,OnDraw函數是CView類的一個成員函數,當視圖須要重繪時,框架會主動挪用它。要正確挪用OnDraw函數,我們須要遵守以下步調:
- 確保持續自CView的類中重載了OnDraw函數。
- 在須要重繪視圖時,挪用Invalidate或UpdateWindow函數。
- 在OnDraw函數中實現具體的繪製邏輯。 具體步調如下:
- 重載OnDraw函數:創建一個從CView派生的類,並在類中重載OnDraw函數。比方: class CMyView : public CView { protected: // 僅重載部分 virtual void OnDraw(CDC* pDC); }
- 觸發OnDraw挪用:當視圖須要更新時,可能經由過程以下方法觸發OnDraw的挪用:
- 挪用Invalidate函數標記視圖為有效,並將鄙人一次消息輪回中主動挪用OnDraw。
- 直接挪用UpdateWindow強迫破即重繪窗口。
- OnDraw函數的實現:在重載的OnDraw函數中,利用傳入的CDC東西來停止繪製。CDC代表設備高低文,可能用來繪製文本、圖形等。比方: void CMyView::OnDraw(CDC* pDC) { // 繪製邏輯 pDC->TextOut(10, 10, _T("Hello, World!")); } 總結,經由過程以上步調,我們可能在MFC利用順序中正確挪用OnDraw函數,實現視圖的繪製。須要注意的是,在OnDraw中盡管只停止繪製操縱,避免複雜邏輯處理,以保證繪製的效力。