今天在操作线程的时候,遇到一个问题:
那就是如何在线程里把数据写到对话框控件中去,比如一个listctrl控件中。百度了一下,竟然有说不可以的。。
不过我动了一个脑筋,还是可以搞定的,我都实现 了的。
做法如下:
1.在你的cpp文件中定义你的对话框指针,要定义成全局变量哦。
static Cnbqq_upload_mysqlDlg * pDlg;
2.在你的对话框初始化函数(BOOL Cnbqq_upload_mysqlDlg::OnInitDialog())中添加:
pDlg = this;//知道这是什么意思吧?就是把你的对话框指针弄成一个静态全局变量!
3.这就可以在你的线程里调用啦!
UINT Cnbqq_upload_mysqlDlg::MyThreadFunction(LPVOID pParam) { CFtpConnection* FtpConnection = (CFtpConnection*)pParam; for (int i=0 ;im_CtrlListCtrlPicsFind.GetItemCount();i++)//这样就可以啦 { CString strFile; strFile = pDlg->m_CtrlListCtrlPicsFind.GetItemText(i,1); } }
代码我是自己测试ok,可用的,有问题的可以给我留言讨论。这个方法其实是非常有用处的!!!
强