【求助】线程如何操作对话框中的变量??急等

wbcuc 2006-11-02 07:16:46
大家好,小弟有一个问题请教大家。

我建了一个基于MFC的对话框类(是主类) CSMSDlgDlg ,设了个接收区变量CString m_strDisplay;

又建了一个子类(运行线程的类) CSmsTraffic。启动线程后我想在线程子类里把运行结果直接传给

m_strDisplay,在接收区显示。

请问那位大虾会啊,写出来一起讨论吧!
...全文
208 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wbcuc 2006-11-11
  • 打赏
  • 举报
回复
诚信揭帖
dengguangjing 2006-11-07
  • 打赏
  • 举报
回复
我又试了一下,不需要UpdateData(),可以显示,跟同步没关系:(
蒋晟 2006-11-07
  • 打赏
  • 举报
回复
http://support.microsoft.com/kb/147578
dengguangjing 2006-11-06
  • 打赏
  • 举报
回复
比如是控件IDC_EDIT1
CEdit *pE=(CEdit*)pWnd->GetDlgItem(IDC_EDIT1);
pE->SetWindowText("hello");
注意主线程中UpdateData()这句一定要在pE->SetWindowText("hello")这句话之后执行,不然显示不出来,同步问题。
rickerliang 2006-11-06
  • 打赏
  • 举报
回复
简单的数据类型直接用this指针访问
dengguangjing 2006-11-06
  • 打赏
  • 举报
回复
生成线程的时候,把句柄传给线程
AfxBeginThread(ThreadProc,GetSafeHwnd(),THREAD_PRIORITY_NORMAL)的第二参数就是当前句柄。
void ThreadProc(LPVOID lParam){}
然后在线程里通过这个句柄获得CWnd 指针
CWnd *pWnd=CWnd::FromHandle((HWND)lParam);
pWnd->GetDlgItem(IDC_NAME)就是你想要的控件的指针。
试试看呢
shore1000 2006-11-04
  • 打赏
  • 举报
回复
传类的this指针
一条晚起的虫 2006-11-02
  • 打赏
  • 举报
回复
建立线程的时候,把主对话框指针(this)传入
astrony 2006-11-02
  • 打赏
  • 举报
回复
可以这样,先获得你那个对话框的ID,然后(CEdit*)GetDlgItem(IDC_EDIT1)->SetWindowText()
wbcuc 2006-11-02
  • 打赏
  • 举报
回复
????
wbcuc 2006-11-02
  • 打赏
  • 举报
回复

回复:Delphityro(下岗工人)
这是错误,不能这样用啊
Compiling...
SmsTraffic.cpp
D:\VC\SMSDlg\SmsTraffic.cpp(166) : error C2039: 'm_strDisplay' : is not a member of 'CWnd'
c:\programs\microsoft visual studio\vc98\mfc\include\afxwin.h(1899) : see declaration of 'CWnd'
D:\VC\SMSDlg\SmsTraffic.cpp(167) : error C2065: 'UpdateData' : undeclared identifier
Error executing cl.exe
wbcuc 2006-11-02
  • 打赏
  • 举报
回复
自己先顶,给个想法
HWND m_DlgHwnd;

m_DlgHwnd = this->GetSafeHwnd();

szMsg = new char[200];
strcpy(szMsg,"OK");
PostMessage(m_DlgHwnd,WM_USER111,(long)szMsg,NULL);

但是没有效果
周江涛 2006-11-02
  • 打赏
  • 举报
回复
在线程里直接操作就可以了。
AfxGetMainWnd()->m_strDisplay = "abc";
UpdateData(false);

15,471

社区成员

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

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