怎样在Word文档的指定位置添加一个ocx控件? 如题: 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考一下,控件建议用插件方式:http://www.vckbase.com/document/listdoc.asp?mclsid=17&sclsid=1713void 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);} 如果可以插入word文档中,该控件要实现什么接口,还是普通的空间就可以? to: gjd111686(数字金刚)m_UnitLeft、m_UnitTop是怎么得到的?我现在得到了Selection.start,请问怎样将它转换成left和top VS2010 MFC 注册快捷键后无法响应WM_HOTKEY 我的服务器总是蓝屏,现在取了minidump文件,请大家帮我看一下 操作ORCALE和文件的问题 CStdioFile file;下一次写入的时候,如何清空当前文件的内容?也就是全部覆盖当前内容,这样可以写入新内容. 如何计算字符串中有几个字符? 江湖救急!!!如何动态的添加属性页? 如何对HTML文件进行全文检索? 游戏编程是用哪些语言的? AfxAssertValidObject错问题 高手指教!急阿 今天是不是不能结帖了啊? 怎样在ListBox中每隔一段时间显示一条记录(原记录仍然保留)?
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);
}
m_UnitLeft、m_UnitTop是怎么得到的?
我现在得到了Selection.start,请问怎样将它转换成left和top