大家好,我想在窗体上画一条指定好线型、粗细及颜色的线条,我该怎么做,下面有何错误吗?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);
}
{
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);
}
试试CPaintDC
CWindowDC
CWindowDC *pDC = new CWindowDC(this);
CRect rect;
GetClientRect(&rect);
pDC->SelectObject(pen);
pDC->MoveTo(0,0);
pDC->LineTo(200,200);
CWindowDC *pDC = new CWindowDC(this);
CRect rect;
GetClientRect(&rect);
pDC->SelectObject(pen);
pDC->MoveTo(0,0);
pDC->LineTo(200,200);
不要忘记释放pDC