线程中对 LISTBOX操作,该怎么解决

线程中对 LISTBOX操作

基于对话框新建名为 Send工程 对话框IDD_SEND_DIALOG 添加一个按钮 BUTTON1 一个listbox IDC_LIST1
C/C++ code
void CSendDlg::OnButton1() 
{

// TODO: Add your control notification handler code here

hThread=CreateThread(NULL,

0,(LPTHREAD_START_ROUTINE)ThreadFunc,

NULL,

0,

&ThreadID);

GetDlgItem(IDC_CONNECT)->EnableWindow(FALSE);

GetDlgItem(IDC_DISCONNECT)->EnableWindow(TRUE);

}   
//已在CSendDlg 中添加 
HANDLE hThread; DWORD ThreadID;


问题是 想在点击BUTTON1的时候 在LISTBOX中显示日志
CString strLogMsg;
strLogMsg.Format("welcome");/* 内容必须是CString 型的 日志内容这里用welcome 代替 原先是两个char 数组 timeBuf[100]和 logBuf[100]的组合 */


请写出ThreadFunc具体的代码 ,好几天了,CSDN上问了一圈,没搞明白

------解决方案--------------------
1 ThreadFunc线程函数要通过发送消息给界面让他显示,而不能在线程函数内直接操作listbox
2 显示的数据应该 加锁保护
3 避免使用CreateThread,用MFC的AfxBeginThread来代替
4 使用CreateThread,记得CloseHandle