为什么我的动态曲线不能运行
void CDrawSin::DrawSin(CDC *pDC)
{
CRect rect;
GetClientRect(rect);
CPen pen_Grid(PS_DOT,1,m_Pen);
pDC->SelectObject(&pen_Grid);
int i = 0;
for(i=rect.top;i<rect.Height();i+=5)
{
pDC->MoveTo(rect.left,rect.top);
pDC->LineTo(rect.right,rect.top);
}
for(i=rect.left;i<rect.Width();i+=5)
{
pDC->MoveTo(rect.left,rect.top);
pDC->LineTo(rect.left,rect.bottom);
}
for(i=0;i<1000;i++)
{
//m_lCount[i]=500+500*sin(3.14*m_now/180);
pDC->MoveTo(3+i,(int)(200+80*sin(100*6.28*(i))));
pDC->LineTo(3+i,(int)(200+80*sin(100*6.28*(i))));
}
}
void CDrawSin::MemDraw()
{
// CRect rect;
// 获取绘制坐标的文本框
// CWnd* pWnd = GetDlgItem(IDC_STATIC);
// pWnd->GetClientRect(&rect);
// 指针
// pDC = pWnd->GetDC();
// pWnd->Invalidate();
// pWnd->UpdateWindow();
//pDC->Rectangle(&rect);
CRect rect;
GetClientRect(rect);
//内存绘图
CBitmap m_MemBitmap;
CBitmap* pOldBmp = NULL;
m_MemDC.CreateCompatibleDC(pDC);
m_MemBitmap.CreateCompatibleBitmap(pDC,rect.right,rect.bottom);
pOldBmp = m_MemDC.SelectObject(&m_MemBitmap);
m_MemDC.BitBlt(rect.left,rect.top,rect.right,rect.bottom,pDC,0,0,SRCCOPY);
DrawSin(&m_MemDC);
pDC->BitBlt(rect.left,rect.top,rect.right,rect.bottom,&m_MemDC,0,0,SRCCOPY);
m_MemDC.SelectObject(pOldBmp);
m_MemDC.DeleteDC();
m_MemBitmap.DeleteObject();
}
我把上述代码写到了一个继承自CWnd类,然后在对话框的PICTURE里实现.可是为什么一调用就出错啊?