ACtvieX控件绘图问题

scunet 2011-10-09 07:00:09
制作了一个ActiveX控件,测试控件的程序为一基于对话框的MFC程序,在测试程序中有一个STATIC控件,首先将此STATIC控件的HWND传递给ActiveX控件,然后ActieX控件通过线程不断在此STATIC上绘图,请问为什么我在ActiveX控件的ondraw函数类加一句AfxMessageBox(str);就能看到测试程序的STATIC静态文本控件中一直在绘图,而去掉这一句后则没有任何反应!第一个ActiveX控件,望高手指点!急!
...全文
46 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Damon_1987 2011-10-10
楼主怎么绘的图,俺也在做绘制个表格,格式可以自定义,要求:通过invoke方法setheader,setfooter,setrownum,setfont等设置格式,传递数据,输出到打印机,给个建议,最好给个方法实现的代码,急求!实在不行,说说楼主怎么处理的绘图,Thk Thk you!
回复
ljn398431 2011-10-10
[Quote=引用 2 楼 fishion 的回复:]
弹出AfxMessageBox后,导致控件界面进行刷新,所以就调用OnDraw了,如果你的界面没有刷新需要的话,就不会调用OnDraw。可以在里面加上m_StaticCtrl.Invalidate()来进行刷新
[/Quote]++
回复
诶呦 2011-10-10
AfxMessageBox()弹出导致界面重绘,所以会显示。
加个Invalidate()
回复
fishion 2011-10-10
弹出AfxMessageBox后,导致控件界面进行刷新,所以就调用OnDraw了,如果你的界面没有刷新需要的话,就不会调用OnDraw。可以在里面加上m_StaticCtrl.Invalidate()来进行刷新
回复
scunet 2011-10-10
是调用我传递过去的HWND的Invalidate还是ACtiveX的?但为什么我把AfxMessageBox换为Sleep也可以看到有绘图?我试了ActiveX的没反应。HWDN对应的Invalidate出错!是不是我传值有问题!能顺带说下传递HWND到ActuveX的方法吗?
回复
scunet 2011-10-09
补充:在ActiveX的OnDraw函数中直接用sleep也可以,可是会造成测试程序忙!求大侠解释!有没有好的解决方法!
回复
相关推荐
发帖
ATL
创建于2007-09-28

3218

社区成员

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
申请成为版主
帖子事件
创建了帖子
2011-10-09 07:00
社区公告
暂无公告