请C++高手我这个为什么编译正确,但一点击检查框就出错

Rockismej 2012-06-24 04:12:58
请C++高手我这个为什么编译正确,但一点击检查框就出错

UINT Thread(LPVOID pParam)
{
CEdit *pEdit=(CEdit*)pParam;


while(start)
{
pEdit->GetDlgItem( IDC_EDIT2)->GetWindowText( str1 );



//fl=strtod(str,&stopstr);

}
return 0;
}

void CMultiThreadDlg::OnBnClickedCheck1()

{
CWinThread *pThread;

// TODO: 在此添加控件通知处理程序代码
if(c_check.GetCheck())
{
start=true;
pThread=AfxBeginThread(Thread,NULL);
t_hThread=pThread->m_hThread;
}
else
{
start=false;

}
}

void CMultiThreadDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值

CString s;
if(start)
{
s.Format(_T("%d"),str1);
c_edit.SetWindowTextW(s);
}
CDialog::OnTimer(nIDEvent);
}

void CMultiThreadDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
::TerminateThread(t_hThread,0);
}
出错地方:
CWnd* CWnd::GetDlgItem(int nID)
const ASSERT(::IsWindow(m_hWnd));
...全文
127 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rockismej 2012-06-24
  • 打赏
  • 举报
回复
还是不行啊,算了,我不弄了,刚开始学我好多东西不会,分给你吧,谢谢你啊
schlafenhamster 2012-06-24
  • 打赏
  • 举报
回复
对话框里有个c_edit ?
那就:
pThread=AfxBeginThread(Thread,&c_edit);

不过线程里最好传HWND。
即c_edit.m_hWnd
Rockismej 2012-06-24
  • 打赏
  • 举报
回复

TO schlafenhamster
你好,那我应该传个什么进去啊?的想法是想传个编辑框的内容或者字符串进去的,但不知道这么弄,也不知道传,谢谢你了
schlafenhamster 2012-06-24
  • 打赏
  • 举报
回复
pThread=AfxBeginThread(Thread,NULL);
这里是0;
CEdit *pEdit=(CEdit*)pParam;
这里取到0 ?
你要传一个 CEdit *
Rockismej 2012-06-24
  • 打赏
  • 举报
回复
没人理我,我自己先顶一下

15,471

社区成员

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

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