我使用了切分窗口,左为参数输入区,类名CSetParameterView,右为画图区,名为CRdView。
在左边输入数据,点击按钮,事件响应函数:
         ......
CRdView *pVW=(CRdView *)AfxGetApp();
pVW->DrawOutsideCircle(m_SensorR,m_SensorT);
......
即获得指向画图区的指针,并调用其中一个自定义的画图函数DrawOutsideCircle,m_SensorR,m_SensorT为用户输入的画图参数。在CRdView,即右部画图区中,
void CRdView::DrawOutsideCircle(int r, int t)
{
CClientDC dc(this);
dc.LineTo(r,t);
}
我想通过CClientDC dc(this);获得CRdView的值以画图。编译无问题,调试时按下按钮,弹出报警框。设置断点发现错误出现在“CClientDC dc(this);”处。不解!还请各位指点!!谢了!!

解决方案 »

  1.   

    问题是我把下面这段代码粘贴到CRdView的OnDraw函数中又没有什么问题的。
    CClientDC dc(this);
    dc.LineTo(r,t);
      

  2.   

    楼上的要不用这个试试
    CDC* pDC;
    pDC=GetDC();
    pDC->LineTo(r,t);我想附加一个问题:CRdView *pVW=(CRdView *)AfxGetApp();//这句是什么意思啊??CWinApp* AfxGetApp( ); 返回的是当前的应用CWinApp*啊,我不太明白是什么用法?
      

  3.   

    CRdView *pVW=(CRdView *)AfxGetApp();我得到了指向当前应用的CRdView的指针。同样有:CRdDoc * pDoc=(CRdDoc *)GetDocument();我是刚刚上手,这个只知道这么多。谢谢你的指点!