标签:des ar 使用 strong on amp as line window
1. 画线
方法I:使用HDC (SDK模式)
HDC hDC; hDC = ::GetDC(m_hWnd); //此处要用全局的::GetDC,否则默认用CDC的。 MoveToEx(hDC, point1.x, point1.y, NULL); //MoveToEx,先移到初始点,然后再画线 LineTo(hDC, point2.x, point2.y); ::ReleaseDC(m_hWnd, hDC); //释放也要用全局::ReleaseDC
方法II:使用CDC(MFC模式)
CDC *pdc=GetDC(); pdc->MoveTo(point1); pdc->LineTo(point2); ReleaseDC(pdc);
方法III:使用CClientDC(CClientDC继承自CDC,不需要手动GetDC和ReleaseDC,传递this或GetParent())
CClientDC dc(GetParent()); //可以在Frame下画线 dc.MoveTo(m_ptOrigin); dc.LineTo(point);
CWindowDC dc(GetDesktopWindow()); dc.MoveTo(m_ptOrigin); dc.LineTo(point);
2. 设置线条的颜色,样式,宽度
方法1:
CClientDC dc(this); CPen pen(PS_DASH,1,RGB(255,0,0)); //定义一个画笔,样式为破折号,颜色为红色,宽度为1像素 CPen *cOldPen=dc.SelectObject(&pen); //将新画笔选到dc中,并保存之前的画笔 dc.MoveTo(m_ptOrigin); dc.LineTo(point); dc.SelectObject(cOldPen); //还原旧画笔
方法2:
CDC *pDC = GetDC(); CPen pen(PS_SOLID, 2, RGB(200,200,200)); //定义一个画笔,样式为实线,颜色为灰色,宽度为2像素 CPen *pOldPen = pDC->SelectObject(&pen); //将新画笔选入设备描述表,并返回之前的画笔 pDC->MoveTo(m_ptOrign); pDC->LineTo(point); pDC->SelectObject(pOldPen); //还原旧画笔 ReleaseDC(pDC);
标签:des ar 使用 strong on amp as line window
原文地址:http://blog.csdn.net/jiangqin115/article/details/41727611