SView Designer Control提供了OCX控件, 支持通过IE 、Office 、Visual Studio 开发工具进行OCX控件集成,控件集成方便快捷,可以直接在开发工具中控制控件的大小、位置,调用控件中方法,满足不同环境下的需求和使用。文档主要介绍在开发SView Designer Control控件的具体流程SView Designer Control控件中接口方法的介绍请查看SView Designer Control API文档。
SView Designer Control的OCX控件集成需要的环境:
  • 系统环境: Windows XP SP3 以上。
  • 最新版本SView DesignerOCX控件。
嵌入IE浏览器
Html网页中嵌入OCX控件的步骤如下:
  • 使用文本编辑器或专业网页设计器打开要嵌入SViewOCX控件的网页
  • 在网页中添加嵌入SViewOCX控件对象的代码,代码如下
  • <OBJECT ID="SViewOCX" name="SViewOCX" WIDTH=600 HEIGHT=600 CLASSID="CLSID:8CF55D94-C629-4B51-B8D3-1087B82E7D0C" CODEBASE="http://192.168.106.1/Test/install.cab"></OBJECT>
  • ID为控件名称,CLASSID为控件信息类中的uuid。OCX控件的ID名称为:"SViewOCX",CLASSID为:"CLSID:050BAAF0-DB3A-4FCB-A90F-5B130E7F3D47",name为:"SViewOCX"。
嵌入Office
以嵌入Word(Microsoft Office 2013)为例进行说明:
  • 新建或打开需要嵌入的Word,单击【文件】—【选项】—【自定义功能区】,调出"开发工具"。
  • Word工具栏中选择【设计模式】,单击【旧式工具】—【其他控件】。
  • 选中打开控件选择窗口,找到SViewDesignerOCX Control点击确定。
  • 在Word中出现一个矩形框,可用鼠标拖动来调节控件大小。
  • 再次点击【设计模式】,退出。
  • 完成OCX控件的嵌入。
嵌入Visual Studio
  • 在Visual Studio的窗体设计模式下,打开工具箱面板,在"常规"项下右键选择"选择项"。
  • 选择"COM组件"选项卡,找到SViewDesignerOCX Control项,选择后点击确定。
  • 常规选项下会出现SViewDesignerOCX Control控件,将控件拖入窗体即可。
调用方法
在IE浏览器中调用OCX控件方法:
  • 以SView Designer Control API接口文档中打开本地文件接口:Open(BSTR filePath)为例。
  • 在HTML中使用方法为:SViewOCX.Open("D:\\1.svl")。
  • SViewOCX为控件名称(SView Designer Control的控件名称。)
  • Open为控件提供的接口方法。
  • SViewOCX为控件名称(SView Designer Control的控件名称)。
在Office的Word中设置OCX控件属性:
  • 以SView Designer Control API接口文档中设置属性打开文件:Src value:"svlPath"为例。
  • 在Word中选中设计模式按钮,在OCX控件内右键选择属性按钮,设置Src属性的值为模型路径,取消设计模式按钮,即可执行。
在Visual Studio调用OCX控件方法:
  • 在VS工程中加载了OCX控件的界面调用方法为:SViewOCX.Open("D:\\1.svl")
  • SViewOCX为控件名称(SView Designer Control的控件名称)。
  • Open为控件提供的接口方法。
  • SViewOCX为控件名称(SView Designer Control的控件名称)。
SView Designer Control控件中其他接口方法的介绍请查看SView Designer Control API文档
事件处理
以SView Designer Control API处理OnModelSelected事件为例说明事件处理方法。通过鼠标拾取SViewOCX控件中显示的模型时,可以通过事件回调接口告知拾取到的模型。
在IE浏览器中处理事件
  • <script for="SViewOCX" language="javascript" event="OnModelSelected(N1,N2,N3)" type="text/javascript"> alert(N1); </script>
在件Office的Word浏览器中处理事件
  • Private Sub SViewOCX_OnModelSelected(ByVal objid As String, ByVal objname As String)

    End Sub
在Visual Studio处理OCX控件事件:
  • BEGIN_EVENTSINK_MAP(CMFCApplication1Dlg, CDialogEx)
    ON_EVENT(CMFCApplication1Dlg, IDC_SVIEWOCX3CTRL1, 47, OnModelSelectedSviewocx3ctrl1, VTS_BSTR VTS_BSTR)
    END_EVENTSINK_MAP()

    void CMFCApplication1Dlg::OnModelSelectedSviewocx3ctrl1(LPCTSTR objid, LPCTSTR objName)
    {
    // TODO: 在此处添加消息处理程序代码
    }
SView Designer Control控件中其他事件的介绍请查看SView Designer Control API文档
IE浏览器集成OCX控件示例页面:SViewOCX.html。请使用IE浏览器打开