MFC,moveto,lineto画图问题 20
在MFC中响应鼠标右键抬起消息画线,代码如下;现象:1、运行程序,右键单击时没有反应,而关闭窗口时会看到要画的线闪了一下;2、在画线之前添加画点dc.SetPixel(p...
在MFC中响应鼠标右键抬起消息画线,代码如下;
现象:1、运行程序,右键单击时没有反应,而关闭窗口时会看到要画的线闪了一下;
2、在画线之前添加画点dc.SetPixel(point, RGB(0, 0, 255))的代码,再运行发现可以了。
这是为什么?
void CMfctestView::OnRButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CClientDC dc(this);
dc.MoveTo(point);
// dc.SetPixel(point, RGB(0, 0, 255));
dc.LineTo(point.x+100, point.y+100);
// CView::OnRButtonDown(nFlags, point);
} 展开
现象:1、运行程序,右键单击时没有反应,而关闭窗口时会看到要画的线闪了一下;
2、在画线之前添加画点dc.SetPixel(point, RGB(0, 0, 255))的代码,再运行发现可以了。
这是为什么?
void CMfctestView::OnRButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
CClientDC dc(this);
dc.MoveTo(point);
// dc.SetPixel(point, RGB(0, 0, 255));
dc.LineTo(point.x+100, point.y+100);
// CView::OnRButtonDown(nFlags, point);
} 展开
4个回答
展开全部
没有问题啊!
你运行程序时,先把窗口最大化,看有无输出
你运行程序时,先把窗口最大化,看有无输出
更多追问追答
追问
我试了,还是不行,我的程序可就添加了这么一处代码,好奇怪呀。
追答
我运行了一下,是没有问题的。你直接在窗口client区靠近左上角的位置用鼠标右键点一下,看能有直线吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、代码本身无误
2、你是不是有有重绘的操作,常见的onpaint、onerasebkgnd
2、你是不是有有重绘的操作,常见的onpaint、onerasebkgnd
追问
没有重绘操作,我新建的一个MFC工程,只添加了这么一个消息响应函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以上代码不会出现你说的问题,鉴定完毕。
追问
关键的是出现我说的问题了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Updatewindow()
追问
Updatewindow()也不行,Invalidate()也不行!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询