如何象写字版那样在SDI程序可以打开多种文件?

解决方案 »

  1.   

    创建多个doc-view类,并在InitInstance中:
             ……
    // 注册应用程序的文档模板。文档模板
    // 将用作文档、框架窗口和视图之间的连接
    CSingleDocTemplate* pDocTemplate;
    pDocTemplate = new CSingleDocTemplate(
    IDR_MAINFRAME,
    RUNTIME_CLASS(CEx07cDoc),
    RUNTIME_CLASS(CMainFrame),       // 主 SDI 框架窗口
    RUNTIME_CLASS(CEx07cView));
    if (!pDocTemplate)
    return FALSE;
    AddDocTemplate(pDocTemplate);
    后面再加上类似下面的代码:
    pDocTemplate = new CSingleDocTemplate(
    IDR_MAINFRAME,
    RUNTIME_CLASS(CAnotherDoc),
    RUNTIME_CLASS(CMainFrame),       // 主 SDI 框架窗口
    RUNTIME_CLASS(CAnotherView));
    if (!pDocTemplate)
    return FALSE;
    AddDocTemplate(pDocTemplate);
    其中“RUNTIME_CLASS(CMainFrame),       // 主 SDI 框架窗口”
    的CMainFrame也可以改为别的框架类。
    建议你看Inside Visual C++ 或者 深入浅出MFC,我记得后者对其有详细介绍。