• 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>
  • 相关阅读:
    多线程下System.Security.Cryptography.Aes CreateDecryptor报“Safe handle has been closed”的解决方案
    使用ConfuserEx加密混淆程序以及如何脱壳反编译
    使用Dotfuscator加密混淆程序以及如何脱壳反编译
    利用Javascript解决HTML大数据列表引起的网页加载慢/卡死问题。
    cefsharp 在高DPI下闪烁的问题
    spark 笔记 8: Stage
    spark 笔记 9: Task/TaskContext
    spark 笔记 7: DAGScheduler
    spark 笔记 5: SparkContext,SparkConf
    spark 笔记 6: RDD
  • 原文地址:https://www.cnblogs.com/nakata/p/9441518.html
Copyright © 2020-2023  润新知