我的构造类型struct NewJob
{
      CString JobState;        //任务的状态
  CString  JobName;    //任务的名字
  int     JobLength;   //任务的长度
      CProgressCtrl* JobWorking;//进度条用来显示任务的进度
      CString     CompleteRate; //任务的完成率
  NewJob*  JobNextPt;   //下一个节点
  int      nstep;       //用来记录进度条的进度
};
2,用来创建NewJob的线程
DWORD WINAPI ThreadNewJob(
LPVOID lpParameter)
{    
     theNewJob[j]=new NewJob;
     Mydlg->InitialJob(theNewJob[j]);  //Mydlg是全局变量  Mydlg=this(当前的对话框);
     (Mydlg->JobLast)->JobNextPt=theNewJob[j];
     Mydlg->JobLast=theNewJob[j];
     (Mydlg->i)++;
 j++;
return 0;
}
初始化节点的函数
void CDealerDlg::InitialJob(NewJob *job)
{     
       
      job->JobState="就绪";
      job->JobNextPt=NULL;
      job->JobName.Format("任务%d",i);
      srand((unsigned)time( NULL ));
      job->JobLength=50+rand()%51;
      job->JobWorking=new CProgressCtrl();
      (job->JobWorking)->Create(WS_CHILD|WS_VISIBLE,CRect(10,80+i*20,100,100+i*20),Mydlg,1234);
      // (job->JobWorking)->ShowWindow(SW_NORMAL);
      //(job->JobWorking)->UpdateWindow();
      (job->JobWorking)->SetRange(0,(job->JobLength));
      (job->JobWorking)->SetStep(5);
      job->CompleteRate.Format("0/%d",job->JobLength);
}
用来dialog中新建按钮void CDealerDlg::OnNew() 
{   HANDLE hThreadNewWork;
hThreadNewWork=CreateThread(NULL,0,ThreadNewJob,this,0,NULL);
}
为甚么不显示呢?
求教

解决方案 »

  1.   

    线程函数里就不要这样操作控件了,改用发送自定义消息
      

  2.   

    您好
    我是本版版主
    此帖已多日无人关注
    请您及时结帖
    如您认为问题没有解决可按无满意结帖处理
    另外本版设置了疑难问题汇总帖
    并已在版面置顶
    相关规定其帖子中有说明
    您可以根据规定提交您帖子的链接
    如您目前不想结帖只需回帖说明
    我们会删除此结帖通知见此回复三日内无回应
    我们将强制结帖
    相关规定详见界面界面版关于版主结帖工作的具体办法
      

  3.   

    线程函数里就不要这样操作控件了,改用发送自定义消息