求助 onpaint的问题

gundamnt 2010-08-18 06:54:36
在xxxview中添加了onPaint()绘图,
在别的电脑上可以,但是自己的电脑上就是一直在等待显示窗口,鼠标一直是转圈的等待,没法点击窗口。。。
...全文
138 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gameslq 2010-08-18
  • 打赏
  • 举报
回复
在OnPaint里面,事件结束后,重画窗口结束,而函数Invalidate使窗口再次重画,
这样就陷入了无限循环.

可以看看msdn关于WM_PAINT 消息的说明.
gundamnt 2010-08-18
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 liufang8318 的回复:]

其实,我也在这个函数上死掉了,现在还在等高手结贴。呵呵
[/Quote]
但是显示不出图像了。。。。
更郁闷
还是要不知道问题所在
liufang8318 2010-08-18
  • 打赏
  • 举报
回复
其实,我也在这个函数上死掉了,现在还在等高手结贴。呵呵
liufang8318 2010-08-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 gundamnt 的回复:]
去了最后一句可以了,请问原因是什么啊?
[/Quote]真的可以了?呵呵,我猜的。
gundamnt 2010-08-18
  • 打赏
  • 举报
回复
去了最后一句可以了,请问原因是什么啊?
liufang8318 2010-08-18
  • 打赏
  • 举报
回复
你先把最后一句注释掉,看看有什么变化没有!
gundamnt 2010-08-18
  • 打赏
  • 举报
回复
都是win7的机子

void CimgMFCView::OnPaint()
{
CPaintDC dc(this); // device context for painting

CimgMFCDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);

//if open a file
if((pDoc->flagOpen==1))
{

SetDIBitsToDevice(dc.m_hDC, //DIB as output device
300, //
100, //
pDoc->bitInfoHead.biWidth, //DIB width
pDoc->bitInfoHead.biHeight, //DIB height
0, //DIB output x postion
0, //DIB output y postion
0, //
pDoc->bitInfoHead.biHeight, //
pDoc->imgData, //
pDoc->bitInfo, //
DIB_RGB_COLORS); //
}


Invalidate(FALSE);
}

我写的onpaint,放在xxxView里面的

许文君 2010-08-18
  • 打赏
  • 举报
回复
在别的电脑上也可以
=============================================
具体环境呢?还有你电脑环境
光凭猜测猜不出来,还要你贴代码
gundamnt 2010-08-18
  • 打赏
  • 举报
回复
那不因该在其他电脑上可以啊。。。应该都有问题才对的。。。。
wangzf0916 2010-08-18
  • 打赏
  • 举报
回复
死循环,是不是程序什么地方在反复调用onPaint()

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧