在线程函数中如何给文本框赋值?
我定义了一个线程函数:
static DWORD WINAPI SplitThread(LPVOID lpparam);
有一个文本框,ID为: IDC_INFO
DWORD WINAPI CSplitDlg::SplitThread(LPVOID lpparam)
{
CString Str= "要输出的结果. ";
//我要在这个线程函数里把Str的值赋给文件框 IDC_INFO ,我要怎样实现呀.我用了GetDlgItem(IDC_INFO)-> GetWindowText(Str,100);或者SetDlgItemText(IDC_INFO,Str);或者 UpdateData(False);这些方法,都出错.请问有什么办法解决这个问题?
}
[解决办法]
static DWORD WINAPI SplitThread(LPVOID lpparam);其中的参数lpparam传进去dlg的实例。
使用CDlgXXX *pDlg = (CDlgXXX *)lpparam; pDlg-> GetDlgItem(IDC_INFO)-> SetWindowText(Str);
[解决办法]
最简单的办法:为文本框添加一个Control类变量medit;
CString Str= "要输出的结果. ";
然后直接调用成员函数medit.SetWindowTextW(Str);就OK了!