模式对话框如何接收其副线程发送过来的消息?(副线程里用什么方法得到对话框句柄)

zhaoyadong771506 2011-06-10 12:38:38
如题
...全文
136 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoyadong771506 2011-06-13
  • 打赏
  • 举报
回复
已解决,谢谢各位!
zhaoyadong771506 2011-06-10
  • 打赏
  • 举报
回复
可是模态对话框的句柄得不到啊,用了各种方法如(HWND)(GetMainWnd()->GetSafeHwnd()),FindWindow()都不行
__lhy 2011-06-10
  • 打赏
  • 举报
回复
PeekMessage
  • 打赏
  • 举报
回复
更正

是CREATETHREAD 参数列表
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 visualeleven 的回复:]
引用 3 楼 zhaoyadong771506 的回复:
是工作线程要向模式对话框发送消息

创建工作线程的时候,将对话框的窗口HWND作为线程函数的参数传递给线程
[/Quote]

参看 THREADPROC 参数列表
Eleven 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zhaoyadong771506 的回复:]
是工作线程要向模式对话框发送消息
[/Quote]
创建工作线程的时候,将对话框的窗口HWND作为线程函数的参数传递给线程
zhaoyadong771506 2011-06-10
  • 打赏
  • 举报
回复
是工作线程要向模式对话框发送消息
Eleven 2011-06-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 zhaoyadong771506 的回复:]
如题
[/Quote]
副线程,你说的是主线程吗?
yao050421103 2011-06-10
  • 打赏
  • 举报
回复
1. 起线程的时候把对话框的句柄作为线程参数传递进去 : DWORD WINAPI Thread(LPVOID lpParam);
lpParam里头就可以包含句柄信息,当然了,你还可以打包其他的数据。最后一个转型就OK
2. 给对话框发消息,最好用非模态的,这样肯定不会出问题。模态对话框会垄断用户的输入,有自己专门的消息循环。
3. 必须要用模态的,就直接用项目的主对话框吧,那个不会出问题。原因省略一万字 ^_^

15,471

社区成员

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

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