mfc编程画直线
CDC*pDC=GetDC();//CDC类中的GetDC()正好返回了一个CDC类的对象指针pDC->MoveTo(m_ptOrigin);//利用CDC的成员函数画线...
CDC *pDC=GetDC();//CDC类中的GetDC()正好返回了一个CDC类的对象指针
pDC->MoveTo(m_ptOrigin);//利用CDC的成员函数画线
pDC->LineTo(point);
ReleaseDC(pDC);//牢记的是,在这里我们依然不要忘记释放DC
这段代码应该怎么用,我添加到view.cpp的ondraw函数中报错说m_ptorigin没有声明,应该怎么做? 展开
pDC->MoveTo(m_ptOrigin);//利用CDC的成员函数画线
pDC->LineTo(point);
ReleaseDC(pDC);//牢记的是,在这里我们依然不要忘记释放DC
这段代码应该怎么用,我添加到view.cpp的ondraw函数中报错说m_ptorigin没有声明,应该怎么做? 展开
展开全部
可以通过一个bool全局变量指示划线菜单项是否被选中,首先用类向导在view类中为划线菜单项添加消息响应函数,在该函数中为该全局变量赋值指示开始划线
可以这样赋值 m_bline=true;
然后通过类向导向view类添加OnLButtonDown()函数以响应鼠标按下消息,该消息中首先判断m_bline是否为true,若为true,可通过一个全局CPoint变量记录鼠标按下的位置
OnLButtonUp(UINT, CPoint point)
{
if(m_bline)m_oripoint=point;
}
相同方法添加OnLButtonUp()函数响应鼠标释放消息
if(m_bline)
{
ClientDC dc(this);//获取设备描述表句柄
dc.MoveTo(m_oripoint);//画笔移动到第一点
dc.LineTo(point);//划线至第二点
}
可以这样赋值 m_bline=true;
然后通过类向导向view类添加OnLButtonDown()函数以响应鼠标按下消息,该消息中首先判断m_bline是否为true,若为true,可通过一个全局CPoint变量记录鼠标按下的位置
OnLButtonUp(UINT, CPoint point)
{
if(m_bline)m_oripoint=point;
}
相同方法添加OnLButtonUp()函数响应鼠标释放消息
if(m_bline)
{
ClientDC dc(this);//获取设备描述表句柄
dc.MoveTo(m_oripoint);//画笔移动到第一点
dc.LineTo(point);//划线至第二点
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询