永发信息网

MFC 多线程 如何调用窗口类中的成员函数

答案:3  悬赏:60  手机版
解决时间 2021-01-03 17:18
  • 提问者网友:我一贱你就笑
  • 2021-01-02 19:24
BCB中用向导创建的TThread类中可以直接调用窗口类的成员函数,不知道MFC中是如何调用的.
补充,不想用消息,因为有参.

也不要告诉我创建全局函数,那我这个问题岂不是白问了....
最佳答案
  • 五星知识达人网友:蕴藏春秋
  • 2021-01-02 19:32
当前界面的线程
AfxGetThread()返回当前界面线程对象的指针(CWinThread类指针).
其中公共成员保存了窗口指针
m_pMainWnd 保存指向应用程序的主窗口的指针 (CWnd)
m_pActiveWnd 当前活动窗口指针(CWnd)
这样你就可以调用窗口的方法了.
不过我个人还是觉得你发消息比较好一些,消息传递参数可以通过无符号指针的切换来解决.
全部回答
  • 1楼网友:末日狂欢
  • 2021-01-02 21:26
1. 子线程没有main函数入口的说法,但在部分工程模式下,允许命名子线程函数为main 2. mfc程序本身不是多线程 3. 任何win32下的c++程序都支持用户自定义多线程,mfc也不例外,就是这个关系。
  • 2楼网友:野味小生
  • 2021-01-02 19:53
消息是最安全方便的。这是MFC最大的特点。至于参数的话,可以传指针啊。 要么你就将窗口类的指针传给线程,直接调用。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯