各位高手帮帮忙!!
问题1:我想在MDI程序中根据需要产生一个新的基于CFrameView类的子窗口,就是不使用VC自己生成的new file按钮,该怎么办?代码加在哪?
问题2:我的程序中有一个标签控件(TABBAR),在切换不同的标签时,我想让子窗口跟着变,如何实现呢?处理什么消息?代码加在什么地方?

解决方案 »

  1.   

    有本书叫MFC经典问答,建议楼主读读。(中国电力出版社)
      

  2.   

    1、以您得视图类为参数注册一个新的文档视图模板,在您需要响应得消息中Open这个模板即可。
    2、请描述一下您的标签是在什么地方创建等信息。建议您可以到编程的一些网站,如vckbase vchelp去看看基本的界面编程。
      

  3.   

    太菜了,不好意思
    补充一下,简单的说:
    问题1:如何实现MDI程序中的”新建“功能?
    问题2:比如在VC编辑器界面里,我想实现在WorkSpace中点击不同的标签页,右边的子窗口跟着变(比如类标签,则右边为untitle1子窗口,点击资源标签,变成右边为untitle2子窗口)
    不知这下说清楚了没?
      

  4.   

    2
    TAB控件本身就具有你说的功能,看下面的例子:
    http://www.vckbase.com/document/viewdoc/?id=398
      

  5.   

    1
    下面是默认的创建文档的操作流程,你可以参考看看:
    ON_COMMAND(ID_FILE_NEW,CWinApp::OnFileNew)
    入口:CWinApp::OnFileNew
    调用:CdocManager::OnFileNew()
    1.判断有无文档模板,无则函数返回;
    2.判断是否有多个文档模板,如有则启动文档模板选择对话框, 让用户选择一个模板后,返回模板指针.
    3.由模板指针访问CMultiDocTemplate::OpenDocumentFile()
    31.创建新文档对象
    32.创建与新文档对象对应的子框架,构筑子框架,文档和视窗之间的关系
    33.调用应用程序的OnNewDocument()
    a.调用CDocument::OnNewDocument()
    调用应用程序的DeleteContents();
    b.用户代码
    34.调用InitialUpdateFrame()显示视窗
    35.返回文档指针
    4.返回
      

  6.   

    你可以跟踪进去看看MFC的源代码是怎么实现的