如题:

解决方案 »

  1.   

    参考一下,控件建议用插件方式:http://www.vckbase.com/document/listdoc.asp?mclsid=17&sclsid=1713
    void CWebOfficeCtrl::LoadUnit(void)
    {
    AFX_MANAGE_STATE(AfxGetStaticModuleState()); // TODO: 在此添加调度处理程序代码
    //m_pWebOfficeFrame->m_pWebOfficeView->m_pSelection->DeactivateUI();
    LPDISPATCH lpDisp;
    lpDisp=m_pWebOfficeFrame->m_pWebOfficeView->m_pSelection->GetIDispatch();
    _Application_Word m_WordApp;
    _Document_Word m_WordDoc;
    m_WordDoc.AttachDispatch(lpDisp,TRUE);
    //m_WordDoc.Activate();
    m_WordApp=m_WordDoc.GetApplication();

    InlineShapes_Word m_WordInlineShapes;
    InlineShape_Word m_WordInlineShape;
    Selection_Word m_WordSelection;
    m_WordSelection=m_WordApp.GetSelection();
    m_WordInlineShapes=m_WordSelection.GetInlineShapes();
    COleVariant vTrue((short)TRUE),vFalse((short)FALSE),vOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
    //AfxMessageBox(m_UnitName,MB_ICONINFORMATION);
    m_WordInlineShape=m_WordInlineShapes.AddPicture(DownUnit(m_UnitName),vFalse,vTrue,vOptional);

    //2003.11.29 Add By DigitalTitan[设置图元重叠属性]
    Shape_Word m_WordShape;
    m_WordShape=m_WordInlineShape.ConvertToShape();
    Shapes_Word m_WordShapes;
    VARIANT varResult;
    varResult.vt=VT_I4;
    varResult.lVal=m_WordShapes.GetCount();
    m_WordShape=m_WordShapes.Item(&varResult); 
    m_WordShape.Select(&varResult);
    WrapFormat_Word m_WordWrapFormat;
    m_WordWrapFormat=m_WordShape.GetWrapFormat();
    m_WordShape.SetRelativeHorizontalPosition(2);
    m_WordShape.SetRelativeVerticalPosition(1);
    if(m_UnitTop!="UnitTop")
    {m_WordShape.SetTop((float)atoi(m_UnitTop));}
    if(m_UnitLeft!="UnitLeft")
    {m_WordShape.SetLeft((float)atoi(m_UnitLeft));}
    if(m_UnitWidth!="UnitWidth")
    {m_WordShape.SetWidth((float)atoi(m_UnitWidth));}
    if(m_UnitHeight!="UnitHeight")
    {m_WordShape.SetHeight((float)atoi(m_UnitHeight));}
    m_WordWrapFormat.SetAllowOverlap(TRUE);
    m_WordWrapFormat.SetType(3);
    m_WordWrapFormat.ReleaseDispatch();
    m_WordShape.ReleaseDispatch();
    m_WordShapes.ReleaseDispatch();
    //

    m_WordInlineShape.ReleaseDispatch();
    m_WordInlineShapes.ReleaseDispatch();
    m_WordSelection.ReleaseDispatch();
    m_WordDoc.ReleaseDispatch();
    m_WordApp.ReleaseDispatch(); //m_pWebOfficeFrame->m_pWebOfficeView->m_pSelection->Activate(OLEIVERB_SHOW,m_pWebOfficeFrame->m_pWebOfficeView,NULL);
    }
      

  2.   

    如果可以插入word文档中,该控件要实现什么接口,还是普通的空间就可以?
      

  3.   

    to: gjd111686(数字金刚)
    m_UnitLeft、m_UnitTop是怎么得到的?
    我现在得到了Selection.start,请问怎样将它转换成left和top