一个MDI框架的程序,通过新建多个view来执行多个相同任务(准备用多线程), 在工具栏和菜单中自定义了一些按钮, 希望按钮的操作是对当前的窗口生效,不影响其他窗口的进行, 那么应该把这些按钮的消息映射和处理函数定义在哪个文件里, mainframe, doc还是view.
对MFC理解不多,所以有此一问,如果有什么低级失误请见谅.

解决方案 »

  1.   

    定义在view中得了
    不过不管怎样都得用多线程
    否则消息队列会被阻塞,影响其他窗口
      

  2.   

    领教了, 多线程是必然的, 但是这个多线程部分的代码是写在哪个类里面呢. 如果多任务的时候应该是产生多个view和doc的实体, 那么这个多线程应该也是写在view类里面了吗?
      

  3.   

    你将每个类所做的事情放在各自的类中,比如,你要定义三个view,view1做a+b,view2做a-b,view3做a*b,那么a+b、a-b、a*b分别放在不同的线程里,如果是用不同的线程类,那么就放在不同的线程类中,并给工具栏上的按钮映射事件,如果按钮1做a-b,按钮2做a+b,按钮3做a*b,则按钮1的响应放在view1中,按钮2的响应放在view2中,以此类推。