c++mfc关于类的问题
菜鸟提问,我要在view里面弄一个函数,这个函数调用的是另一个类里的东西,那个类是我建的,我选的是view的基类叫Cline,比如说我那个类里面只有一个画直线的函数voi...
菜鸟提问,我要在view里面弄一个函数,这个函数调用的是另一个类里的东西,那个类是我建的,我选的是view的基类叫Cline,比如说我那个类里面只有一个画直线的函数
void Cline::line()
{
CDC *pDC=GetDC();
pDC-> MoveTo(50,50);
pDC-> LineTo(100,100);
}
之后在view头文件里加#include “line.h”
在view里的个函数里加
Cline a;
a.line();
之后运行的话,就会出现图片里的问题,而且点忽略会出现线,但是那个线在窗口外面,不是很懂,求解释 展开
void Cline::line()
{
CDC *pDC=GetDC();
pDC-> MoveTo(50,50);
pDC-> LineTo(100,100);
}
之后在view头文件里加#include “line.h”
在view里的个函数里加
Cline a;
a.line();
之后运行的话,就会出现图片里的问题,而且点忽略会出现线,但是那个线在窗口外面,不是很懂,求解释 展开
2个回答
展开全部
从图片中的错误提示来看,是断言错误了
找到afxwin2.inl文件的第112行
{ ASSERT(::IsWindow(m_hWnd)); return CDC::FromHandle(::GetDC(m_hWnd)); }
分析得知:
应该是 ASSERT(::IsWindow(m_hWnd)); 出错
也就是说,line()中调用GetDC();时,m_hWnd不是一个有效的窗体句柄
你需要检查一下Cline,看是否初始化了
找到afxwin2.inl文件的第112行
{ ASSERT(::IsWindow(m_hWnd)); return CDC::FromHandle(::GetDC(m_hWnd)); }
分析得知:
应该是 ASSERT(::IsWindow(m_hWnd)); 出错
也就是说,line()中调用GetDC();时,m_hWnd不是一个有效的窗体句柄
你需要检查一下Cline,看是否初始化了
追问
嗯有点不是很懂,那怎么看是否初始化呢?
追答
你调试跟踪一下,看m_hWnd是不是为空?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询