4D Write v14WR ON EVENT |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D Write v14
WR ON EVENT
|
WR ON EVENT ( area ; event ; method ) | ||||||||
引数 | 型 | 説明 | ||||||
area | 倍長整数 |
![]() |
4D Write エリア | |||||
event | 倍長整数 |
![]() |
イベントコード | |||||
method | 文字 |
![]() |
実行するメソッド | |||||
WR ON EVENTコマンドは、area内でevent で指定されたイベントが発生したときに呼び出されるメソッドとしてmethod をインストールします。イベントは4D Write で処理される前に直接メソッドに渡されます。
area が0 の場合、method は、データベースが閉じられるまで、すべての4D Writeエリアに対するデフォルトのイベントメソッドとなります。エリアに特定のイベントメソッドがインストールされている場合、そのメソッドがデフォルトメソッドに代わって呼び出されます。
event引数には傍受するイベントを表す値を渡します。WR Eventsテーマの以下の定数を渡せます:
定数 | 型 | 値 | コメント |
wr on key | 倍長整数 | 0 | キーが押された (矢印キーやリターン等を含む) |
wr on double click | 倍長整数 | 1 | ダブルクリック |
wr on single click | 倍長整数 | 2 | シングルクリック |
wr on triple click | 倍長整数 | 3 | 3回クリック |
wr on right click | 倍長整数 | 4 | 右マウスボタンのクリック |
wr on activate | 倍長整数 | 5 | 4D Writeエリアがアクティブまたは非アクティブになった |
wr on printing | 倍長整数 | 7 | ドキュメント印刷中 |
wr on ruler | 倍長整数 | 8 | ルーラの変更 |
wr on compute references | 倍長整数 | 9 | 動的参照が更新された |
wr on close | 倍長整数 | 10 | 4D Writeエリアまたはウィンドウが閉じられた |
wr on drag | 倍長整数 | 11 | オブジェクトがドラッグされた |
wr on drop | 倍長整数 | 12 | オブジェクトがドロップされた |
wr on timer | 倍長整数 | 13 | タイマーサイクルの終了 |
すべてのイベントに対しmethodを有効にするには、eventに-1を渡します。
method は呼び出されるときに、イベント発生時のエリアのステータスを表す7つの引数を受け取ります。コンパイルコマンドを使用して、これらの引数を宣言する必要があります。次の表は、methodが受け取る引数の説明です:
引数 | 型 | 説明 |
$1 | 倍長整数 | 4D Writeエリア |
$2 | 整数 | Shiftキー |
$3 | 整数 | Alt (Windows), Option (Mac OS) |
$4 | 整数 | Ctrl (Windows), Command (Mac OS) |
$5 | 整数 | イベントタイプ |
$6 | 整数 | イベントタイプにより異なる |
$0 | 倍長整数 | メソッドが値を返す場合 |
$1にはイベントが発生したエリアのIDが渡されます。$2, $3, そして$4にはイベント発生時にモディファイアキーが押されていたかどうかを示す値が渡されます。値が0の場合、キーは押されていません。値が1の場合、キーは押されています。$5にはイベントタイプが渡されます。$6はイベントのタイプにより異なります。
メソッド変数とevent引数 ($6)
Note: すべての文字をフィルタすると、キーが押されるたびにメソッドが実行されるため、動作は遅くなります。
以下の例題では、イベントのタイプに基づきアクションを実行します:
フォームメソッド: If(Form event=On Load)
WR ON EVENT(Area;wr on key;"ProcName")
`すべてのキーストロークに対し呼び出す
WR ON EVENT(Area;wr on activate;"ProcName")
`エリアのステータスをチェック
DISABLE MENU ITEM(2;1)
`フォントを変更メニュー項目を無効に
WR SET AREA PROPERTY(Area;wr timer frequency;54000)
`15 分毎にタイマーイベント
WR ON EVENT(Area;wr on timer;"ProcName")
`自動保存を設定
End if
Case of
:($5=wr on key)
`キーストロークを傍受
If($6=199) | ($6=200)
`対応するASCIIコード
BEEP
$0:=1
Else
`4D Writeにイベントを処理させる
$0:=0
End if
:($5=wr on activate)
`エリアのステータスの変更を傍受
If($6=0)
`エリアが非アクティブなら
DISABLE MENU ITEM(2;1)
Else
ENABLE MENU ITEM(2;1)
End if
:($5=wr on timer)
`15分毎に
$DocName:="C:\\Temp\\Docs\\TheArea.4W7"
WR SAVE DOCUMENT(TheArea;$DocName;"4WR7")
End case
プロダクト: 4D Write
テーマ: WRユーティリティ
番号:
89174
変更: 4D Write 2004.1
WR Get on event method
WR ON ERROR
4D Write ( 4D Write v11.6)
4D Write ( 4D Write v12)
4D Write ( 4D v13)
4D Write ( 4D Write v14)
4D Write ( 4D Write v14 R2)
4D Write ( 4D Write v14 R3)
4D Write ( 4D Write v14 R4)