void CMyView::OnDraw(CDC* pDC)
{
CPen newPen(PS_DASHDOTDOT,2,(COLORREF)0);
CPen* pOldPen =pDC->SelectObject(&newPen);//不懂
pDC->MoveTo(10,10);
pDC->LineTo(110,10);
pDC->SelectObject(pOldPen);
}
谁能给解释一下这段代码?
{
CPen newPen(PS_DASHDOTDOT,2,(COLORREF)0);
CPen* pOldPen =pDC->SelectObject(&newPen);//不懂
pDC->MoveTo(10,10);
pDC->LineTo(110,10);
pDC->SelectObject(pOldPen);
}
谁能给解释一下这段代码?
使用newpen,保存oldpen
从10,10
画线到110,10
恢复oldpen
{
CPen newPen(PS_DASHDOTDOT,2,(COLORREF)0);//新建一个画笔
CPen* pOldPen =pDC->SelectObject(&newPen);//把这个画笔选入pDC指向的设备环境同时 返回设备环境中原来的那个画笔指针
pDC->MoveTo(10,10);
pDC->LineTo(110,10);
pDC->SelectObject(pOldPen);
}
{
CPen newPen(PS_DASHDOTDOT,2,(COLORREF)0);//建立一个CPen对象,设置其相关属性
CPen* pOldPen=pDC->SelectObject(&newPen);//将GDI对象newPen选进设备环境中,返回值是指向前一次被选对象的指针
pDC->MoveTo(10,10);//设置当前position为(10,10)
pDC->LineTo(110,10);//从当前position(10,10)到(110,10)画一条线,并把当前position设置为(110,10)
pDC->SelectObject(pOldPen);//将GDI对象pOldPen选进设备环境中,此后newPen就能安全析构了
}