请问一个MFC中的DC的问题

void CmouselessionDlg::OnMouseMove(UINT nFlags, CPoint point)
{
if (nFlags ==MK_LBUTTON)
{
dd.MoveTo(pt);
dd.LineTo(point.x,point.y);
}
pt = point;
CDialogEx::OnMouseMove(nFlags, point);
}
请问下这个程序对么?pt和dd都定义了

2个回答

没问题呀,那个dd应该是个CDC类把。

qq_29670983
qq_29670983 回复纵横车: DD就是一个成员变量
4 年多之前 回复
a1193561652
纵横车 回复qq_29670983: 这只是定义dd类,但是dd没有和你的窗口的客户区的输出绑定在一起,就是没有初始化,通常是要由窗口的GetDC()来获取串口的CDC的。
4 年多之前 回复
qq_29670983
qq_29670983 新建一个MFC对话框工程,然后在DLG类里面加入两个成员变量,一个是CPOINT PT,一个是CDC DD也就和直接在DLG类的头文件里面加是一样的,然后再添加一个ONMOUSEMOVE函数,加入上面的代码就这样再没了
4 年多之前 回复
qq_29670983
qq_29670983 就是新建一个MFC对话框工程,在INITDIALOG里面加入然后添加一个ONMOUSEMOVE函数,加入上面的代码,
4 年多之前 回复
a1193561652
纵横车 回复qq_29670983: 哎,你这也说不清楚,你把工程上传,然后发个链接吧,我下载下来看看。
4 年多之前 回复
qq_29670983
qq_29670983 CDC dd 在头文件中定义的
4 年多之前 回复
a1193561652
纵横车 回复qq_29670983: 你那个dd是怎么定义的?
4 年多之前 回复
qq_29670983
qq_29670983 嗯嗯 是的,但是为啥运行不了呢?请问,一运行就出错,弹框那种出错,把CDC改成*就好了,改成指针就好了
4 年多之前 回复

你的pt,dd都是在哪里获取的,不用指针是否对象有问题。

qq_29670983
qq_29670983 我的PT是在初始化函数里面猎取的,DD是类的成员变量,不用指针确实运行不了,弹框出错用了指针就好了,一切正常了,请问是何原因呀?
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问