哪位大侠能告诉我在MFC中怎么才能打开完整的Word文件?在SDI或MDI中怎么样才能在视图中编辑文本文件?通过什么方式才能让视图的左边是树型视图,让视图的右边为Dlg视图呢?(它们的表现形式就好象是网际快车的界面一样)那位大侠能给我一个详细的解释我将感激不尽(最好能给出一个实例)

解决方案 »

  1.   

    http://it.sohu.com/20040809/n221441035.shtml
      

  2.   

    通过什么方式才能让视图的左边是树型视图,让视图的右边为Dlg视图呢?静态拆分窗口
    Programming Windows with MFC / Jeff Prosise. -- 2nd ed 
    有详细介绍
      

  3.   

    在VC中控制Word的例子代码,给我33分(你一共3个问题,我解答一个)! ^_^====================
    下面启动word进程:
    _ApplicationWord* m_objWord; //初始化COM
    if (CoInitialize(NULL)!=0) 

    AfxMessageBox("初始化COM支持库失败!"); 
    exit(1); 
    } try
    {
    //ASSERT (NULL==m_objWord);
    m_objWord = new _ApplicationWord;

    if (!m_objWord->CreateDispatch("Word.Application", NULL))
    {
    AfxMessageBox("不能创建Word对象!", MB_ICONSTOP);
    delete m_objWord; m_objWord = NULL;
    throw 0;
    return;
    }
    else{
    // AfxMessageBox("成功创建Word对象!");
    m_sOldDefaultPrinter = m_objWord->GetActivePrinter();  // Verify the new
    if(m_sOldDefaultPrinter.Find(m_sNewPrinter)<0)
    {
    m_objWord->SetActivePrinter(m_sNewPrinter);  //设置当前打印机
    }
    }
    }
    catch(COleException *oe)
    {
    oe->ReportError();
    delete oe;
    }
    catch(...)
    {
    }
    //OLE_CATCH();===================
    下面使用word进程打开文件
    Documents m_objDocs;
    _Document m_objSingleDoc;
    m_objDocs = m_objWord->GetDocuments();
    _variant_t vSourFileName(sFileName);
    LPDISPATCH hResult;
    hResult = m_objDocs.Open(
    /*[in]*/&vSourFileName,
    /*[in] VARIANT * ConfirmConversions*/&vOptional,
    /*[in] VARIANT * ReadOnly*/&vTrue,
    /*[in] VARIANT * AddToRecentFiles*/&vFalse,
    /*[in] VARIANT * PasswordDocument*/&vOptional,
    /*[in] VARIANT * PasswordTemplate*/&vOptional,
    /*[in] VARIANT * Revert*/&vOptional,
    /*[in] VARIANT * WritePasswordDocument*/&vOptional,
    /*[in] VARIANT * WritePasswordTemplate*/&vOptional,
    /*[in] VARIANT * Format*/&vOptional,//"wdOpenFormatAuto",//
    /*[in] VARIANT * Encoding*/&vOptional,
    /*[in] VARIANT * Visible*/&vOptional
    /*[in] VARIANT * OpenAndRepair*///&vOptional,
    /*[in] VARIANT * DocumentDirection*///&vOptional,
    /*[in] VARIANT * NoEncodingDialog*///&vOptional,
    /*[out,retval]*/ //&m_objSingleDoc 
    );
    =================
    下面结束word进程,并反初始化COM
    if (m_objWord)
    {
    try
    {
    COleVariant covTrue((short)TRUE), covFalse((short)FALSE);
    m_objWord->Quit(covFalse,  // SaveChanges.
    covTrue,   // OriginalFormat.
    covFalse   // RouteDocument.
    );
    m_objWord->ReleaseDispatch();
    delete m_objWord;
    m_objWord = NULL;
    }
    catch(COleException *oe)
    {
    oe->ReportError();
    delete oe;
    }
    catch(...)
    {
    }
    //OLE_CATCH();
    }
    CoUninitialize();