社区
界面
帖子详情
单文档 多线程中无法调用Ondraw
totoam
2009-10-12 05:11:02
现在我准备做一个可以边处理数据边绘制图形的程序
所以使用了多线程
主线程用来绘图,还设置了一个进度条,用啦表示进度
另一个线程用来计算数据
但是现在的问题是 我的数据在计算着 进度条也在跑着 但是就是无法绘制图形
而当计算线程结束之后 就可以绘制图形了
请问这是问什么
在此多谢各位大侠先~~~~
对了 还有一个问题
我想在视图内动态生成一个按钮 当有进度条时 按钮无法显示出来 而当进度条窗口关闭后 就可以显示了
...全文
230
13
打赏
收藏
单文档 多线程中无法调用Ondraw
现在我准备做一个可以边处理数据边绘制图形的程序 所以使用了多线程 主线程用来绘图,还设置了一个进度条,用啦表示进度 另一个线程用来计算数据 但是现在的问题是 我的数据在计算着 进度条也在跑着 但是就是无法绘制图形 而当计算线程结束之后 就可以绘制图形了 请问这是问什么 在此多谢各位大侠先~~~~ 对了 还有一个问题 我想在视图内动态生成一个按钮 当有进度条时 按钮无法显示出来 而当进度条窗口关闭后 就可以显示了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zghanhailiang
2009-11-30
打赏
举报
回复
如果占用CPu比较高,可以用事件响应试试。waitforsingleobject(..),waitformultipleobjects(..)
totoam
2009-10-12
打赏
举报
回复
我在那个点击函数里是做了一个循环的。。。不停地接受数据 重绘图形
我现在又开了一个图像线程 直接GetDC 在这里画可以画 但是占用Cpu很高啊 有没有什么办法解决呢
oyster2008
2009-10-12
打赏
举报
回复
[Quote=引用 10 楼 totoam 的回复:]
是的 是把invalidate放到主线程了
难道不能这样 一定要另外再开一个绘图线程么?
[/Quote]
你这样的话只会重画一次,你如果想根据工作线程的计算结果实时绘图的话必须在工作线程中通知主线程重绘
totoam
2009-10-12
打赏
举报
回复
是的 是把invalidate放到主线程了
难道不能这样 一定要另外再开一个绘图线程么?
oyster2008
2009-10-12
打赏
举报
回复
[Quote=引用 7 楼 totoam 的回复:]
啊 各位大侠 我是才开始学习多线程的
什么是UI线程呢。。。
我现在就是在一个点击函数里 创建了一个工作线程 并且在这个函数里 绘制图像到兼容DC上
最后再Invalidate() 一下 线程间也没有通信。。。
或者大家能否告诉我 一般在做这种程序时都是怎么做的 难道还需要一个绘图线程么?
[/Quote]
估计你把invalidate放到主线程了
一名程序员
2009-10-12
打赏
举报
回复
我记得多线程绘图时,是会出现同步的问题。也就是说,虽然发送了消息,但处理消息的函数实际上处于阻塞状态,没有被真正执行。详情,你再看看msdn中SendMessage和PostMessage的详细帮助。特别注意这两个消息函数的实现机制。
totoam
2009-10-12
打赏
举报
回复
啊 各位大侠 我是才开始学习多线程的
什么是UI线程呢。。。
我现在就是在一个点击函数里 创建了一个工作线程 并且在这个函数里 绘制图像到兼容DC上
最后再Invalidate() 一下 线程间也没有通信。。。
或者大家能否告诉我 一般在做这种程序时都是怎么做的 难道还需要一个绘图线程么?
验证码识别
2009-10-12
打赏
举报
回复
MFC中,一个消息函数执行完才能执行另一个消息函数
多线程的话,最好别使用消息函数
雪影
2009-10-12
打赏
举报
回复
lz的工作线程和UI线程是如何同步(通信)的?即如何来通知UI线程更新界面的?
快乐鹦鹉
2009-10-12
打赏
举报
回复
你怎么调用的啊。不要在线程中调用啊。这样等于占用线程中的时间片,需要发消息让主线程进行刷新才行。
oyljerry
2009-10-12
打赏
举报
回复
你工作线程中发送消息给UI线程,让UI线程来刷新,Invalidate()
totoam
2009-10-12
打赏
举报
回复
调用了 Invalidate()
跟踪也到了这一步了 晕 但是为什么进不了 ondraw 啊。。。
快乐鹦鹉
2009-10-12
打赏
举报
回复
那你调用绘制图形的方法了么????
单
文档
多视图之间的切换
总之,
单
文档
多视图之间的切换是VC++ MFC编程
中
的一个重要特性,它涉及到了类的继承、事件处理、窗口管理、数据同步和用户界面设计等多个方面。通过熟练掌握这些技术,开发者可以构建出功能强大且用户体验优秀的应用...
MFC
单
文档
画图程序 MFC编程
在本文
中
,我们将深入探讨如何使用Microsoft Foundation Class (MFC)库来创建一个
单
文档
界面(SDI)...在实际开发过程
中
,可能还需要考虑性能优化、错误处理、
多线程
支持等问题,这些都是提升程序质量和用户体验的关键。
MFC
单
文档
图形填充
在Microsoft Foundation Classes (MFC)库
中
,"MFC
单
文档
"是指基于MFC框架创建的
单
文档
界面(Single Document ...在实践
中
,你可能还会遇到性能优化、
多线程
绘图等问题,这些都是进阶的话题,需要逐步探索和掌握。
第10章-
多线程
编程(实践).ppt
- **步骤1**:使用MFC AppWizard生成程序框架,如本例
中
的`ThreadTest`,选择
单
文档
界面应用程序。 - **步骤2**:编辑资源,包括菜
单
和对话框资源,定义线程相关的菜
单
项。 - **步骤3**:添加菜
单
响应函数,当用户...
MFC
单
文档
视图内容连成AVI视频
在实际应用
中
,可能还需要考虑性能优化,如减少内存占用、提高帧率或者添加
多线程
处理来提升效率。同时,如果视图的内容是动态变化的,还需要处理同步问题,以确保视频
中
的动作流畅。 在提供的`avitest`文件
中
,...
界面
15,976
社区成员
115,866
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章