大家好,我想在窗体上画一条指定好线型、粗细及颜色的线条,我该怎么做,下面有何错误吗?void CSomeTestOnDialogDlg::OnButton1() 
{
CPen pen(PS_SOLID,20,RGB(112,213,112));
CDC *pDC= GetDC();
CDC memdc;
if(!memdc.CreateCompatibleDC(pDC))
  return;
CRect rect;
GetClientRect(rect);
memdc.SelectObject(pen);
memdc.MoveTo(0,0);
memdc.LineTo(200,200);
pDC->BitBlt(rect.left,rect.top,rect.Width(),rect.Height(),&memdc,0,0,SRCCOPY);
memdc.DeleteDC();
ReleaseDC(pDC);
}

解决方案 »

  1.   

    CPen pen(PS_SOLID,20,RGB(112,213,112));这句就有定义阿
      

  2.   

    CDC *pDC;
    试试CPaintDC
    CWindowDC
      

  3.   

    CPen pen(PS_SOLID,20,RGB(250,2,1));
    CWindowDC *pDC = new CWindowDC(this);
    CRect rect;
    GetClientRect(&rect);
    pDC->SelectObject(pen);
    pDC->MoveTo(0,0);
    pDC->LineTo(200,200);
      

  4.   

    CPen pen(PS_SOLID,20,RGB(250,2,1));
    CWindowDC *pDC = new CWindowDC(this);
    CRect rect;
    GetClientRect(&rect);
    pDC->SelectObject(pen);
    pDC->MoveTo(0,0);
    pDC->LineTo(200,200);
    不要忘记释放pDC
      

  5.   

    在释放CWindowDC对象时,ReleaseDC与DeleteDC有什么区别吗?对了,还有一个DeleteObject了,这三者之间有什么区别吗?