线程中不能用获取的全局CView指针吗?

redillosion 2012-09-04 07:08:00
SDI工程,用的是派生自CFormView的类做为视图,线程中使用指针更新视图上控件状态的时候总是报错,为什么?在线程中发送消息,视图类也收不到,该怎么做?
...全文
117 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dahaiI0 2012-09-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用楼主 的回复:
SDI工程,用的是派生自CFormView的类做为视图,线程中使用指针更新视图上控件状态的时候总是报错,为什么?在线程中发送消息,视图类也收不到,该怎么做?

使用不安全是由什么导致的?线程中用指针获取数据调用函数都没问题,为什么在函数里改变控件状态就会报错呢?
[/Quote]
参考win32多线程程序设计,没记错的话是第10章。用这个指针操作,凡是与句柄相关的,都会出错,而很多成员函数都是通过发消息来实现的。
redillosion 2012-09-04
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
SDI工程,用的是派生自CFormView的类做为视图,线程中使用指针更新视图上控件状态的时候总是报错,为什么?在线程中发送消息,视图类也收不到,该怎么做?
[/Quote]
使用不安全是由什么导致的?线程中用指针获取数据调用函数都没问题,为什么在函数里改变控件状态就会报错呢?
Gloveing 2012-09-04
  • 打赏
  • 举报
回复
能获取的
但是线程中不要处理UI操作
Eleven 2012-09-04
  • 打赏
  • 举报
回复
创建线程的时候,就将View类的HWND窗口句柄作为线程函数的参数传递给线程,在线程中PostMessage/SendMessage发送自定义的消息到View类,在View类的自定义消息响应函数中区更新控件信息。
傻X 2012-09-04
  • 打赏
  • 举报
回复
能获取的,但是使用不安全。最好的方法还是用SendMessage通知主界面。
发送消息收不到的话,确定是不是句柄有问题。

15,471

社区成员

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

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