dsoframer学习一

 近来由于工作需要,要求实现一个office文档在线编辑器,和有些office在线编辑控件不同,就是不提供本地文件的操作,而是对指定的远程office文件或远程数据库中的office文件进行操作,然后保存到数据库中。其实个人感觉远程文件的编辑与本地文件的编辑处理方式一样,先把远程office文件或保存到数据库中的office文件下载到本地临时文件夹内,然后进行修改,再上传到服务器这么一个大致过程。这里暂时不讨论有关上传和下载的问题,主要看office文件的在线编辑。
       关于office的在线编辑又朋友提示我用FCKedit控件,可是我发现它仅仅是在线编辑普通文本,对visio和ppt文档一点措施都没有,从网上(http://www.dsoframer.com/)找到了一个ActiveX控件dsoframer,一个用C++实现的office控件,决的还不错。就是帮助文件很少,还有以前是免费的,还有源代码,现在好像作者开始收费了,这个具体细节不清楚。言归正传:
1.注册这个dsoframer.ocx控件,
public bool Init()
  {
   try
   {
    Assembly thisExe = Assembly.GetExecutingAssembly();
    System.IO.Stream myS = thisExe.GetManifestResourceStream("NameSpaceName.dsoframer.ocx");
   
    string sPath = “该ocx文件的实际路径”+ @"/dsoframer.ocx";
    ProcessStartInfo psi = new ProcessStartInfo("regsvr32","/s " +sPath);
    Process.Start(psi);
   }
   catch(Exception ex)
   {
    MessageBox.Show(ex.Message);
   }
   return true;
  }

2.向winform中添加该控件
AxDSOFramer.AxFramerControl axFramerControl1 = new AxDSOFramer.AxFramerControl();
this.Controls.Add(axFramerControl1);
axFramerControl1.Dock = System.Windows.Forms.DockStyle.Fill;
至此,运行该程序就可以使用了。
试了一下,菜单是可以单个隐藏的 
Object myObj = this.axFramerControl1.ActiveDocument;(多亏你这句提醒我……) 
myobj.CommandBars["Standard"].Controls[1].Visible = false; 
可以隐藏工具栏的“新建” 
oDoc.CommandBars["菜单名"].Visible可以隐藏菜单

你可能感兴趣的:(dsoframer学习一)