DSOframerの主なイベントリファレンス(一)

5218 ワード

重要说明:本博はすでに石佳
DSOframerを知らない方は、まず『DSOframerの簡単な紹介とリソース整理』を参考にしてください.
≪イベントの説明|Event Description|emdw≫:イベントはフォーマットに注意する必要があります.イベントをラベルで宣言する必要があります.属性の意味は次のとおりです.
Language:"言語タイプ"For:"コントロールのid"Event:"イベントの名前"イベント実行体はラベルの間にあることに注意してください.イベントはシステムによって往復調整されるので、イベント名のパラメータは変数名を書くだけで、定数を書くことはできません.例:
<span style="font-family:Microsoft YaHei;font-size:14px;"><script language=”Jscript” for=”TANGER_OCX” event=”OnDocumentOpened(file,doc)”>
     // , 
</script></span>

よく使用されるイベントは次の4つです.
1、 OnDocumentOpened OnDocumentOpened( [in] BSTR File, [in] IDispatch* Document); このイベントは、ドキュメントが開いたときに実行されます.1番目のパラメータはドキュメントのパスまたはURLであり、2番目のパラメータはドキュメントの自動化インタフェースです.たとえば、1つのWordドキュメントでは、2番目のパラメータはWordです.Documentオブジェクト.
2、 OnDocumentClosed OnDocumentClosed(); このイベントは、ドキュメントが閉じた後に実行されます.3、 OnDocActivated OnDocActivated([in] boolean IsActivated); このイベントは、コントロールがアクティブまたは非アクティブの場合にトリガーされます.たとえば、ウィンドウを切り替えると、このイベントが開始されます.4、OnScreenModeChanged OnScreenModeChanged(BOOL IsFullScreenMode)このイベントは、コントロールがフルスクリーン/非フルスクリーン状態に切り替わったときにトリガーされます.パラメータは、コントロールがフルスクリーンまたは非フルスクリーン編集モードであるかを示します.
注意:イベントコードはHTMLページに直接書き、Javascriptのdocumentを使用します.write()メソッドでイベントコードをページに追加すると、イベントが無効になります.
上記の4つのイベントの使い方を例に挙げてみましょう.
<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">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        
        // 
        var oframe;
        var isOpened = false;

        // oframe 
        function InitEvent() {
            oframe = document.getElementById("oframe");
            //alert(" IE IE7 ");
        }

        // 
        function CheckFileOpened() {
            if (!isOpened){
                alert("You do not have a document open.");
                return false;
            }else {
                return true;
            }
        }

        // 
        function CheckControlInstall() {
            if (typeof (oframe) == 'undefined'){
                alert("You must install dsoframe control first.");
                return false;
            }else {
                return true;
            }
        }
        
        // Word 
        function AddNewWord() {
            if (CheckControlInstall()){
                oframe.CreateNew("Word.Document");
            }
        }

        // Word 
        function CloseWord() {
            if (CheckFileOpened()) {
                oframe.close();
            }
        }

        //dsoframe 
        function OnDocumentOpened(str, obj) {
            isOpened = true;
            alert(" dsoframe OnDocumentOpened !");
        }
        
        function OnDocumentClosed() {
            isOpened = false;
            alert(" dsoframe OnDocumentClosed !");
        }

    </script>
</head>
<body onload="InitEvent()">
    <div>
        <table width="100%">
            <tr>
                <td width="130px" style="vertical-align: top;">
                    <input type="button" value=" Word " onclick="AddNewWord()" />
                    <input type="button" value=" Word " onclick="CloseWord()" />
                </td>
                <td>
                    <object classid="clsid:00460182-9E5E-11d5-B7C8-B8269041DD57" id="oframe" width="100%"
                        height="500px" codebase="ActiveX/DSOframer/DSOframer.CAB#version=1,0,0,0">
                        <param name="BorderStyle" value="1" />
                        <param name="TitlebarColor" value="52479" />
                        <param name="TitlebarTextColor" value="0" />
                        <param name="Menubar" value="1" />
                        <param name="Titlebar" value="0" />
                    </object>
                    <div style="display: none">
                        <!-- dsoframe    -->
                        <script type="text/javascript" language="jscript" for="oframe" event="OnDocumentOpened(str,obj)">
                            OnDocumentOpened(str,obj);
                        </script>
                        <script type="text/javascript" language="jscript" for="oframe" event="OnDocumentClosed()">
                            OnDocumentClosed();
                        </script>
                        <!-- dsoframe    -->
                    </div>
                </td>
            </tr>
        </table>
    </div>
</body>
</html></span>