在线程里用setwindowtext

yuanyingtanxi 2002-07-31 03:39:59
一个基于对话框的程序,在点击OK按钮时启动一个线程
在线程开始时,要向这个对话框的EDIT里面写“线程启动”
结束时向Edit里写"线程结束"
我试着在点击 OK按钮里面写
m_workstatu.SetWindowText("开始工作...");
而在线程启动后就不能这么写了,应该怎么写
注:线程是工作线程
...全文
62 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanyingtanxi 2002-07-31
  • 打赏
  • 举报
回复
同志!我可找到你了

你们就是世界上最可爱的人
pp_ipr 2002-07-31
  • 打赏
  • 举报
回复
把你的createthread写出来看看
dailiangcm 2002-07-31
  • 打赏
  • 举报
回复
((CCDDlg*)(AfxGetApp()->m_pMainWnd))->func();


CCDDlg指你的DLG

试试看!
shu 2002-07-31
  • 打赏
  • 举报
回复
用窗口句柄,GetDlgItem(ID_youredit)->m_hwnd
然后在线程中调用相应API.

Bind 2002-07-31
  • 打赏
  • 举报
回复
UINT ThreadProc(LPVOID lpParam)
{
CMyDlg* pDlg = (CMyDlg*)(AfxGetApp()->m_pMainWnd);
pDlg->SendMessage(WM_UER_BEGIN);
....

pDlg->SendMessage(WM_USER_END);

}

void CMyDlg::OnBegin(WPARAM, LPARAM)
{
SetWindowText(...);
}

void CMyDlg::OnEnd(WPARAM,LPARAM)
{
SetWindowText(...);
}
yuanyingtanxi 2002-07-31
  • 打赏
  • 举报
回复
请详细些说好么,我刚刚学
代码怎么写?
yuanyingtanxi 2002-07-31
  • 打赏
  • 举报
回复
在线等候,分不够再加
pp_ipr 2002-07-31
  • 打赏
  • 举报
回复
可以的。

你在开启线程时把对话框定义一个指针变量作为参数传进去,
然后在线程里面通过这个指针来控制对话框上的edit控件text
我就是这么用的,不过不知道你的线程需要的一些数据能不能从你的对话框
中得到,可以的话就没问题。:)

15,471

社区成员

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

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