首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 线程中 Edit Box显示数字菜鸟问题,请指教!谢谢 [已结贴,结贴人:sunyangguan]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sunyangguan
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-05-17 16:29:41 楼主
    一个基于对话框的程序,我想在一线程中更新显示Edit Box 控件中的数字:
    //线程中显示数字
    void CJiance_xitongDlg::Onxianshishuzi()
    {
        // TODO: Add your command handler code here
        CWinThread *ThreadReadData;
        //进入在EditBox中显示数字的线程
        ThreadReadData=AfxBeginThread(xianshi_Thread,this,THREAD_PRIORITY_NORMAL); 
    }
    UINT xianshi_Thread(LPVOID pParam)
    {
    //获得对话框的句柄
    CJiance_xitongDlg* pDlg = (CJiance_xitongDlg*)pParam;
            pDlg->m_shuzi=10;
    pDlg->UpdateData(FALSE);//显示测量值
            return 0;
    }
    编译通过都没有错误,但只要一运行就报错的,显示对话框:Debug Assertion Failed!。。。。。。
    请问是什么原因呢?我如何在线程当中对主对话框中的控件进行操作呢?谢谢
    30  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cnzdgs
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 5

      2

      13

    发表于:2008-05-17 18:02:271楼 得分:10
    线程中不允许UpdateData,你可以用SetWindowText。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • krispan86
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-17 20:00:192楼 得分:20
    给你提供一个另外的办法:

    首先在CJiance_xitongDlg类头文件添加一个全局变量
        static HWND hDlg; //对话框窗口句柄

    修改创建线程函数为:

        ThreadReadData=AfxBeginThread(xianshi_Thread,GetSafeHwnd(),THREAD_PRIORITY_NORMAL);   

    CJiance_xitongDlg::OnInitDiolag()函数中加入:

        hDlg=GetSafeHwnd();

    //线程回调函数改为
    UINT xianshi_Thread(LPVOID pParam)
    {
      shuzi=10;
      CString str;
      str.Format("%d",shuzi);
      ::SetDlgItemText(hDlg,IDC_SHUZI,str);  //这个IDC_SHUZI需要修改的跟你的Edit Box的ID一致
       
      return 0;
    }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ls443085074
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-17 23:13:283楼 得分:0
    1.2楼的都能解决,请结贴
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved