问大家一个MFC的问题。谢谢!(标题不合格,ID被封锁)
在工程中有一个DLG类负责界面的显示,另外有一个PROCESS类负责数据的处理。怎么把处理的结果显示到界面上去呢。
是把处理后的数据返回到DLG类去显示,还是直接可以在PROCESS类中处理显示呢,谢谢! mfc的dlg不是线程安全的,工作线程和界面线程 需要线程同步机制 既然DLG都已经是负责显示的了,那肯定是交给DLG显示比较稳妥。
楼上说的很有道理,如果两个类位于不同线程,需要同步(打包发消息即可);
如果位于同一个线程,可以发消息也可以调用(当然前提是DLG开放了相关调用接口)。 你这是两个类,不是两个线程的话在那都可以,但是业务逻辑层和界面层最好要分离,也就是说显示相关的最好都交给dlg,数据处理中不要包含UI相关操作。另外如果数据处理过程比较慢的话应该放到独立的线程中,这样可以防止主线程被阻塞(直接表象就是UI假死无反应)。
页:
[1]