不同的线程要往同一个CRichEditView里面写东西怎么做?

时间:2022-07-03 17:16:39
这个CrichEditView提供一个AddLog(CString& strLog)的方法,
调用以后就会自动添加到View的视图里面。但是多线程环境
下面好像有问题。

我是通过类似下面的方法得到这个CLogView的指针的,好像多线程
环境下这里会出错。
ClogView继承CRichEditView

CLogView* pLogView = ((CMainFrame*)AfxGetApp()->m_pMainWnd)->GetLogView();

7 个解决方案

#1


把LogView的指针作为参数传给线程.

#2


发消息给界面线程,由界面线程统一添加

#3


mfc不是线程安全的。
发消息给UI,UI响应消息添加

#4


发送消息给UI线程,让它来调用view操作等

#5


将LogView的指针传递给线程,然后给LogView发送消息,由UI自己处理
线程里面不建议操作UI

#6


这里说的发消息给UI线程是不是就是发消息给view呢?

#7


是的,就像pLogView->SENDMESSAGE()的格式发送消息到视图

#1


把LogView的指针作为参数传给线程.

#2


发消息给界面线程,由界面线程统一添加

#3


mfc不是线程安全的。
发消息给UI,UI响应消息添加

#4


发送消息给UI线程,让它来调用view操作等

#5


将LogView的指针传递给线程,然后给LogView发送消息,由UI自己处理
线程里面不建议操作UI

#6


这里说的发消息给UI线程是不是就是发消息给view呢?

#7


是的,就像pLogView->SENDMESSAGE()的格式发送消息到视图