小弟目前新建了一个多文档结构的MFC框架。由于项目需要,要读取并显示序列图像文件IMAG。
IMAG文件是我自定义的一种格式,前64字节是文件头,后面就是顺序存储每帧的图像灰度(256灰度图)。所以文件结构相当简单。但因为初学,mfc结构不很了解,请教各位高手:1)打开文件读取文件的部分代码应该放在什么类下?CMainFrame还是CTDoc?
2)怎样编写可以尽量不修改原来mfc的框架,自己独立添加些代码实现读取显示功能?
3)最后,BOSS让我读出来以后分栏显示各帧图像,怎么实现呢?小弟初学,问题可能不太准确,各位高手见谅。
3个问题分着帮我解答也行,给点意见就磕头拜谢了~呵呵。

解决方案 »

  1.   

    文档-视图模式
    一般把数据的处理放在CNameDoc中,图像的显示放在CNameView
    你在CNameDoc中读取图像数据,然后再CNameView的OnDraw中绘制图像第三个问题是关于多视图的,看看高手怎么说,我也是新手,了解的不多
      

  2.   

    参考vc技术内幕文档视图章节和MFC经典问答的多视图问题,对你有所帮助
    你这个需要动态拆分窗口!
      

  3.   

    To ftkghost(小鹏)
    我用的是多文档结构,如果将文件打开(FileOpen)的代码添加在CNameDoc中,功能可以实现,可是在主框架菜单上添加对应的响应始终是灰的阿,多文档结构有两个菜单,我现在需要在上来那个主框架菜单上添加个“打开序列图像”菜单项,然后对应响应代码,这样还能将代码放在CNameDoc里面么??
      

  4.   

    点菜单右键,进入建立类向导里面,选择class name到CXXXDOC就可以了~看你很基础的东西也不怎么会哦~最好先看几本书吧,要不几个实例也好的~
      

  5.   

    FileOpen响应在CNameApp里,在里面调用CWinApp::OpenDocumentFile(strFileName);
    然后在CNameDoc的OnNewDocument()里读入图像数据。
      

  6.   

    上面OnNewDocument改为OnOpenDocument
      

  7.   

    livedeal(怀念)
    你回答的跟我问的不是一码事,你说的是加响应到CNameDoc类,我是说加到Doc里面的话在主框架菜单对应的菜单项还是灰的,你说的那些我想我还是会的,谢谢。
    booklove(纳海行云)
    你是说分别在App和Doc里面加东西是么?我去试试看。谢谢。
      

  8.   

    谢谢大家,上面问题基本解决 
    目前问题就是文档类OnOpenDocument()和视图类OnDraw()中怎么添加代码的问题。OnOpenDocument()中我现在获得了代表序列文件的file变量(利用file.Open());
    请问OnpenDocument()中都需要编写那些部分的代码,大体说说就行,OnDraw()里面都写什么?