CreateThread出来的工作线程中如何调用MFC对话框?

czxiayu 2004-09-30 01:09:58
如题
...全文
290 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdleek 2004-09-30
  • 打赏
  • 举报
回复
支持 DentistryDoctor(雅克医生(潜心修内功,向各位大师取经了)) 和 memory_xj(青蛙)
ChangeMyHead 2004-09-30
  • 打赏
  • 举报
回复
同意: DentistryDoctor(雅克医生(潜心修内功,向各位大师取经了))
GrAkiss 2004-09-30
  • 打赏
  • 举报
回复
问下楼主尝试过哪些方法来创建你所谓的对话框,这样才好判断如何来帮助你啊
因为如果只是普通的创建对话框,在哪个线程不都是一样的么?先写好对话框类,然后在线程里面实现一个对象,DOMODAL()就好了啊
Kudeet 2004-09-30
  • 打赏
  • 举报
回复
UI thread have message loop,but work thread have no
www.codeproject.com/threads/usinguithreads.asp
Kudeet 2004-09-30
  • 打赏
  • 举报
回复
同样可以用DoModal()弹出对话框,AfxBegainThread之后,是DoModal,在线程中,该函数执行结束以后,发送消息WM_CLOSE给对话框,关闭对话框
CounterHack 2004-09-30
  • 打赏
  • 举报
回复
当然,在线程中要包含CWinApp::Run()同作用的消息泵,可以照样写:)
CounterHack 2004-09-30
  • 打赏
  • 举报
回复
同主线程啊,定义对话框类,然后DoModal()或ShowWindow(),但如果不想发生死锁,最好不要以其它线程(包括主线程)的窗口作为父窗口,可以用桌面作为父窗口GetDesktopWnd()。

祝好运 & 十一快乐:)
nwpulipeng 2004-09-30
  • 打赏
  • 举报
回复
帮顶混分
memory_xj 2004-09-30
  • 打赏
  • 举报
回复
Windows提供了两种线程,工作者线程和用户界面线程,用户界面线程通常有窗口并且具有自己的消息循环。工作者线程没有窗口,当然也不需要处理消息。而用户界面线程的创建十分复杂,我们一般用工作者线程。我想楼主就是用的这个,在工作者线程中无法创建窗口的,同时也不能共享使用MFC类(除了从CObject中派生的对象或像CRect和CString这样简单的类),所以在工作者线程中创建窗口是不现实的,除非用用户界面线程,要不就象楼上各位兄弟所说的方法投递消息来创建窗口。
nonocast 2004-09-30
  • 打赏
  • 举报
回复
SendMessage()
SendThreadMessage()
Kudeet 2004-09-30
  • 打赏
  • 举报
回复
suggest you read this article
Threads in MFC Part I: Worker Threads
http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=435

参考:
http://community.csdn.net/Expert/topic/3361/3361969.xml?temp=.1989557
Lightest 2004-09-30
  • 打赏
  • 举报
回复
楼上的兄弟会错意了.我是说在工作线程中弹出模式对话框.而非调用现有的其他线程的对话框实例的方法.
DentistryDoctor 2004-09-30
  • 打赏
  • 举报
回复
在Worker线程中直接调用对话框的方法会导致死锁或者是非法操作。应该通过PostMessage,
为对话框类自定义一消息,将对话框的HWND传递给线程,线程里PostMessage,然后在对话框的消息处理函数里执行代码。
zhuzhufox 2004-09-30
  • 打赏
  • 举报
回复
一样调用咯?

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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