roseGirl 发表于 2008-6-30 13:19:38

关于线程的问题

比如我在一个Diolag的初始化里面创建了一个线程
AfxBeginThread(threadFunc,this);
在这个对话框上我放了一个进度条的控件,我想在现成里操作他.
然后在
static threadFunc(void *param)
{
   //param是this指针吗?
   //我怎么通过这个参数找到这个进度条( 进度条的类是CProgressCtrl )
   具体怎么做,谢谢告诉我.
      

}

roseGirl 发表于 2008-6-30 14:33:21

AfxBeginThread(threadFunc,this);

问题终于解决了
threadFunc(void *param)
{
//从上面我们可以知道 this也被传进来了,这个是对话框的对象指针,我们可以通过参数来操作它
CMyDlg *pDlg = (CMyDlg*)param;
( (CProgressCtrl*)(pDlg->GetDlgItem(进度条的ID)))->StepIt();//强制转换成需要的句柄,此处我用的是进度条
//GetDlgItem(进度条的ID)获得当前ID的控件句柄,问题解决到次为止
//好象还可以sendmessage也可以解决,晚上回去找一下资料.呵呵
}

roseGirl 发表于 2008-6-30 14:46:04

AfxBeginThread(threadFunc,this);
已经解决了.把解决方法贴下来.
static threadFunc(void *param)
{
   CMyDlg* pDlg = (CMyDlg*)(param);
   ((CProgressCtrl*)(pDlg->GetDlgItem(进度条的ID)))->StepIt();      

}

刚才发了,怎么看不到了.再发一次吧

roseGirl 发表于 2008-6-30 14:47:56

阿莫,怎么我发的帖子,自己看不到,
又改了?

frozenstar 发表于 2008-6-30 19:07:32

...

gloryzkl 发表于 2011-11-15 03:57:25

马克
页: [1]
查看完整版本: 关于线程的问题