Download presentation
Presentation is loading. Please wait.
Published byChad Lamb Modified over 9 years ago
1
Microsoft Foundation Class (MFC) Ku-Yaw Chang canseco@mail.dyu.edu.tw Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University
2
22004/11/16Pattern-Oriented Design Outline Application Wizard Microsoft Visual C++.Net 2003 Microsoft Visual C++.Net 2003Document-View CView::GetDocument CView::GetDocument CView::OnDraw CView::OnDraw Device Contexts (DC) Using CDC
3
32004/11/16Pattern-Oriented Design Application Wizard Step One
4
42004/11/16Pattern-Oriented Design Application Wizard Step Two 2. 1. 3.
5
52004/11/16Pattern-Oriented Design Application Wizard Step Three
6
62004/11/16Pattern-Oriented Design Application Wizard Step Four
7
72004/11/16Pattern-Oriented Design Application Wizard Step Five
8
82004/11/16Pattern-Oriented Design Application Wizard Step Six
9
92004/11/16Pattern-Oriented Design Application Wizard
10
102004/11/16Pattern-Oriented Design Document-View
11
112004/11/16Pattern-Oriented Design Document-View
12
122004/11/16Pattern-Oriented Design GetDocument
13
132004/11/16Pattern-Oriented Design OnDraw
14
142004/11/16Pattern-Oriented Design Document-View CDocument UpdateAllViews UpdateAllViewsCView Invalidate
15
152004/11/16Pattern-Oriented Design Device Contexts Device Contexts (DC) Display Display Printer Printer Direct v.s. Indirect Memory Memory Information Information D1D2P1D1D2P1 DC DR1DR2DR3
16
162004/11/16Pattern-Oriented Design Device Contexts Device Context functions GetDC() GetDC() ReleaseDC() ReleaseDC() … (see MSDN) … (see MSDN) HDC vs. CDC HDC: Win32 SDK HDC: Win32 SDK CDC: MFC CDC: MFC
17
172004/11/16Pattern-Oriented Design Using CDC void CF12345678View::OnDraw(CDC* /*pDC*/) { CF12345678Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; // TODO: 在此加入原生資料的描繪程式碼 }
18
182004/11/16Pattern-Oriented Design Using CDC void CF12345678View::OnDraw(CDC* pDC) { CF12345678Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; CPen penRed(PS_SOLID, 1, RGB(255, 0, 0)); CPen * pOldPen; pOldPen = pDC->SelectObject(&penRed); pDC->SelectStockObject(HOLLOW_BRUSH); pDC->Ellipse(100, 100, 200, 200); pDC->SelectObject(pOldPen);}
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.