DSOframerの主なイベントリファレンス(一)
5218 ワード
重要说明:本博はすでに石佳
DSOframerを知らない方は、まず『DSOframerの簡単な紹介とリソース整理』を参考にしてください.
≪イベントの説明|Event Description|emdw≫:イベントはフォーマットに注意する必要があります.イベントをラベルで宣言する必要があります.属性の意味は次のとおりです.
Language:"言語タイプ"For:"コントロールのid"Event:"イベントの名前"イベント実行体は ラベルの間にあることに注意してください.イベントはシステムによって往復調整されるので、イベント名のパラメータは変数名を書くだけで、定数を書くことはできません.例:
よく使用されるイベントは次の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つのイベントの使い方を例に挙げてみましょう.
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>