zoukankan      html  css  js  c++  java
  • DSOframer 的主要事件参考(一)

    不了解DSOframer的朋友,可以先参考《DSOframer 的简单介绍和资源整理》

    事件说明:事件需要注意格式。需要用<script>标签来声明事件。其中属性的含义为:

                   Language:”语言类型”
                   For:”控件的id”
                   Event:”事件的名称”
    注意事件执行体是在<script></script>标签之间,由于事件是由系统来回调的,即事件名称中的参数只需要写变量名即可,不能写常量。例如:
    1.  
      <span style="font-family:Microsoft YaHei;font-size:14px;"><script language=”Jscript” for=”TANGER_OCX” event=”OnDocumentOpened(file,doc)”>
    2.  
      //这里就是事件体,执行用户需要执行的方法
    3.  
      </script></span>
     
    常用的事件有下面4个:
    1、 OnDocumentOpened
    OnDocumentOpened( [in] BSTR File, [in] IDispatch* Document);
    该事件在文档打开完毕时执行。第一个参数是文档路径或者URL,第二个参数是文档的自动化接口。比如,对于一个Word文档,第二个参数是一个Word.Document对象。

    2、 OnDocumentClosed
    OnDocumentClosed();
    该事件在文档关闭之后执行。

    3、 OnDocActivated
    OnDocActivated([in] boolean IsActivated);
    当控件被激活或者不激活时触发此事件。比如,切换窗口将会出发此事件。

    4、 OnScreenModeChanged
    OnScreenModeChanged(BOOL IsFullScreenMode)
    此事件当控件在全屏/非全屏状态切换时被触发。参数说明了此时控件是处于全屏还是非全屏编辑模式。
     
    注意:事件代码应直接写在HTML页面中,用Javascript的document.write()方法添加事件代码写到页面中,会导致事件无效。
     
    让我们用个例子来了解以上4个事件怎么用:
    1.  
      <span style="font-family:Microsoft YaHei;font-size:14px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    2.  
      <html xmlns="http://www.w3.org/1999/xhtml">
    3.  
      <head>
    4.  
      <title></title>
    5.  
      <script type="text/javascript">
    6.  
       
    7.  
      //全局变量
    8.  
      var oframe;
    9.  
      var isOpened = false;
    10.  
       
    11.  
      //初始化oframe对象
    12.  
      function InitEvent() {
    13.  
      oframe = document.getElementById("oframe");
    14.  
      //alert("请您将IE的文档模式调成IE7标准模式");
    15.  
      }
    16.  
       
    17.  
      //检查是否打开文档
    18.  
      function CheckFileOpened() {
    19.  
      if (!isOpened){
    20.  
      alert("You do not have a document open.");
    21.  
      return false;
    22.  
      }else {
    23.  
      return true;
    24.  
      }
    25.  
      }
    26.  
       
    27.  
      //检查是否安装控件
    28.  
      function CheckControlInstall() {
    29.  
      if (typeof (oframe) == 'undefined'){
    30.  
      alert("You must install dsoframe control first.");
    31.  
      return false;
    32.  
      }else {
    33.  
      return true;
    34.  
      }
    35.  
      }
    36.  
       
    37.  
      //新建Word文档
    38.  
      function AddNewWord() {
    39.  
      if (CheckControlInstall()){
    40.  
      oframe.CreateNew("Word.Document");
    41.  
      }
    42.  
      }
    43.  
       
    44.  
      //关闭Word文档
    45.  
      function CloseWord() {
    46.  
      if (CheckFileOpened()) {
    47.  
      oframe.close();
    48.  
      }
    49.  
      }
    50.  
       
    51.  
      //dsoframe事件
    52.  
      function OnDocumentOpened(str, obj) {
    53.  
      isOpened = true;
    54.  
      alert("触发了dsoframe的OnDocumentOpened事件!");
    55.  
      }
    56.  
       
    57.  
      function OnDocumentClosed() {
    58.  
      isOpened = false;
    59.  
      alert("触发了dsoframe的OnDocumentClosed事件!");
    60.  
      }
    61.  
       
    62.  
      </script>
    63.  
      </head>
    64.  
      <body onload="InitEvent()">
    65.  
      <div>
    66.  
      <table width="100%">
    67.  
      <tr>
    68.  
      <td width="130px" style="vertical-align: top;">
    69.  
      <input type="button" value="新建Word文档" onclick="AddNewWord()" />
    70.  
      <input type="button" value="关闭Word文档" onclick="CloseWord()" />
    71.  
      </td>
    72.  
      <td>
    73.  
      <object classid="clsid:00460182-9E5E-11d5-B7C8-B8269041DD57" id="oframe" width="100%"
    74.  
      height="500px" codebase="ActiveX/DSOframer/DSOframer.CAB#version=1,0,0,0">
    75.  
      <param name="BorderStyle" value="1" />
    76.  
      <param name="TitlebarColor" value="52479" />
    77.  
      <param name="TitlebarTextColor" value="0" />
    78.  
      <param name="Menubar" value="1" />
    79.  
      <param name="Titlebar" value="0" />
    80.  
      </object>
    81.  
      <div style="display: none">
    82.  
      <!-- dsoframe事件 开始 -->
    83.  
      <script type="text/javascript" language="jscript" for="oframe" event="OnDocumentOpened(str,obj)">
    84.  
      OnDocumentOpened(str,obj);
    85.  
      </script>
    86.  
      <script type="text/javascript" language="jscript" for="oframe" event="OnDocumentClosed()">
    87.  
      OnDocumentClosed();
    88.  
      </script>
    89.  
      <!-- dsoframe事件 结束 -->
    90.  
      </div>
    91.  
      </td>
    92.  
      </tr>
    93.  
      </table>
    94.  
      </div>
    95.  
      </body>
    96.  
      </html></span>
  • 相关阅读:
    LeetCode 345. Reverse Vowels of a String 题解
    LeetCode 344. Reverse String 题解
    LeetCode 27. Remove Element 题解
    LeetCode 61. Rotate List 题解
    LeetCode 19.Remove Nth Node From End of List 题解
    Android耗电量
    Android 使用adb查看和修改电池信息
    Android AOP AspectJ 插桩
    Flask相关用法
    Monkey日志信息的11种Event percentage
  • 原文地址:https://www.cnblogs.com/nakata/p/9441518.html
Copyright © 2011-2022 走看看