bug 1
原创
©著作权归作者所有:来自51CTO博客作者johnLuo的原创作品,请联系作者获取转载授权,否则将追究法律责任
最近写multitouch程序,要求用一个界面显示N个浏览器窗口的快照,点击某个快照后切换到相应的浏览器窗口。在浏览器窗口内,需要能够进行标注,模拟鼠标点击以及模拟鼠标滚轮。
我用的是MDI框架。写了2个DocTemplate,一个Template下的View继承了CHtmlView,另外一个template下的view继承了基本的CView类。用来显示其他htmlView的Snapshot。
调试过程中,碰到2个问题:
1,在HtmlView窗口之上做标注,由于MFC对CHtmlView的Update做了特殊处理,没办法使用标准的OnDraw或者OnUpdate之类的来进行标注线的更新。而且我直接用View里面的DC做绘图,根本显示不出来。所以使用了View的ParentWindow(就是FrameWnd)的DC来做的绘图。这个时候,如果我需要把之前绘制的某个区域清除掉,调用InvalidateRect没有任何效果。google半天没有找到合适的方法。最后没办法只能调用了FrameWnd的hide和show,才能让浏览器窗口整体刷新了一遍。
2,把程序装载到demo机器上后发现,如果调用了SendInput模拟鼠标的Wheel动作,就会引起整个系统reboot(不是SendInput引起的问题,用鼠标直接操作浏览器的滚动条也会reboot。)。而这个程序在我本机上调试是好的。反反覆覆观察很多次后,才发现demo机器上的浏览器版本比我机器上的版本要低。更新了浏览器版本之后,问题解决。
下一篇:Bug 1 continue
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Java-bug记录【1】
今天来跟大家谈一下一个,我在做一个新闻项目的时候,遇到的一个很有意思的小Bug报错的信息如下:原因分析:解决方法:
Java bug 项目 报错 异常