线程函数中如何访问CListBox

来源:百度知道 编辑:UC知道 时间:2024/09/23 06:24:39
我在线程函数UINT CServerDlg::Accept(LPVOID pParam)
中无法访问CServerDlg的成员变量CListBox m_list
m_list.AddString("xxxx");
编译提示:“left of '.AddString' must have class/struct/union type”

最好用代码例子来说明,刚学习VC

在规范里规定:非MFC线程是不能访问MFC对象的,我博客里有一篇文章介绍这方面,你可以去看看http://hi.baidu.com/programpad/blog/item/8095435d67d6e94bfaf2c0dc.html

可以通过参数:LPVOID pParam传进来.
Accept((LPVOID)&m_list);
使用
{
CListBox list = &pParam;
list.AddString("xxx");
}

在要添加的时候 传个消息给主线程
让主线程来做添加这件事

需要自定义个 事件
在线程中 PostMessage
或SendMessage