我想调用线程时传递一个窗口对象怎么操作????

NetDoggy 2003-10-16 03:42:56
比如: ::AfxBeginThread(_mythread, ******);

_mythread 是我的线程函数。 ****** 是一个CDialog对象。
函数中要用到******里的成员变量


请问*******处具体应该怎么 写???
...全文
41 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
NetDoggy 2003-10-17
  • 打赏
  • 举报
回复
我明白了,线程真的是太有意思了。
Phourm 2003-10-17
  • 打赏
  • 举报
回复
define(XXXDlg.h): static UINT AFX_CDECL ThreadProc(LPVOID lpData);

UINT AFX_CDECL CXXXDlg::ThreadProc(LPVOID lpData)
{
CXXXDlg* pThis = (CXXXDlg*)lpData;
ASSERT(pThis);
pThis->....
...
return 0;
}

void CXXXDlg::Func()
{
AfxBeginThread(ThreadProc, this);
}
yifeng_ch 2003-10-17
  • 打赏
  • 举报
回复
传递CDialog对象的句柄。GetsafeHandle();;

醉马不肖 2003-10-17
  • 打赏
  • 举报
回复
指针
quanch 2003-10-17
  • 打赏
  • 举报
回复
传递对象指针,另外需要注意线程同步。
vcforever 2003-10-16
  • 打赏
  • 举报
回复
一般传递的都是指针,如果你的对话框类没有默认的构造函数,在你把CDialog对象当作线程
的参数传递的时候会发生错误!所以 建议你还是传递指针比较好!
AfxBeginThread(_mythread, this);

_mythread(LPVOID param)
{
CDialog *pdlg = (CDialog*)param;
pdlg->你的对话框中的成员变量;
}
希望对你有所帮助!

15,471

社区成员

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

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