线程中使用文本框的问题 我在一个线程函数中想要得到一个文本框的值,用GetDlgItemText,结果出错,怎么解决呢??要怎么才能把这个文本框作为指针变量传递给线程函数呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 怎么会出错呢?难道你是用的CWnd? MFC 指针不能跨线程使用, 这是TLS的原因只能使用对应的HANDLE 把对话框的hwnd,和文本框的id 作为参数传入线程,在线程内调用::GetDlgItemText(hwnd,id,textout); 可是要怎么把对话框的hwnd,和文本框的id 作为参数传入线程呢??线程函数就只有一个参数,用结构体的话,要这么传呢?? new 一个结构体出来, 把指针传给该线程做参数, 线程退出的时候再delete掉 昏,不合理的设计,偶合太厉害了。你的线程看样子是个工作者线程。你关心的只是计算参数。而不是文本框,文本框是参数的来源。或许一会你可能吧参数来源又弄到一个combox里边。是不是又要改动线程把combox传进去呢?如果一会又要用其它的控件,又继续改线程?正确的做法是通过某个接口(类)方法来取得你要的参数,以及把执行结果分发出去。也就是说执行计算的工作者线程关心的是参数的输入,计算,参数的输出。而不是编辑框什么的这样那样的控件。 可以传指针,我就传了一个文档类的this指针进去,然后在线程函数里面用CXXDoc *Doc;然后让Doc = (CXXDoc *)lpParam;就可以完全使用了. 纠结中.... 如何判断在通用对话框中选择了哪个按钮 第一次用ATL开发activeX控件(有界面的)!高手给个思路!!!! C**view类与CMainFrm类中鼠标消息有什么不同? 绘图程序中开窗功能如何实现?? 如何做一个带有确定和取消弹出来的对话框! 初学者向高手讨教 新手求助!!!毕业设计遇到问题,在线等。 求会的朋友解答,VS2010下MFC的图片控件如何添加ScrollBar? 关于程序运行权限的问题 请问 获得窗口位置的API函数? regsvr32注册.ocx控件的问题
只能使用对应的HANDLE
也就是说执行计算的工作者线程关心的是参数的输入,计算,参数的输出。而不是编辑框什么的这样那样的控件。