MFC随笔 1.30


View Code
1 void CMyView::OnLButtonDown(UINT nFlags,CPoint point)

2 {

3   CRect rect

4   CDC* pDC=GetDC();//通过调用CWnd的GetDC成员函数来获得设备环境的指针

5   pDC->GetClipBox(rect);

6   RealeaseDC(pDC);//必须调用ReleaseDC函数释放设备环境

7 }

 

1 void CMyView::OnLbuttonDown(UINT nFlags,CPoint point)

2 {

3    CRect rect;

4    CClientDC dc(this);// CClientDC的构造函数以一个窗口指针作为第参数

5                                   而它的析构函数在函数返回时被自动调用。

6    dc.GetClipBox(rect)

7       

8 }

 

2.在选进自己的GDI对象的同时,将原来的GDI对象也保存起来,当任务完成后,再将原来的对象恢复,这样就可以将自己的GDI对象删除掉了

 1 void CMyView::OnDraw(CDC* pDC)

 2 

 3 {

 4 

 5   CPen newPen(PS_DASHDOTDOT,2,(COLORREF)0);

 6 

 7   CPen* pOldPen=pDC->SelectObject(&newPen);

 8 

 9   pDC->MoveTo(10,10);

10 

11   pDC->LineTo(110,10);

12 

13   pDC->SelectObject(pOldPen);

14 

15 }

 

 

MFC库函数SelectStockObject可以把一个库存对象选进设备环境中,并返回原先被选中的对象的指针,同时使该对象被分离出来

 

 

 1 void CMyView::OnDraw(CDC* pDC)

 2 

 3 {

 4 

 5   CPen newPen(PS_DASHDOTDOT,2,(COLORREF)0);

 6 

 7   pDC->MoveTo(10,10);

 8 

 9   pDC->LineTo(110,10);

10 

11   pDC->SelectStockObject(BLACK_PEN);

12 

13 }//newPen destroyed on exit

 

你可能感兴趣的:(mfc)