タスクイベント

タスクイベントには以下のものがあります。

イベント名

説明

デフォルトキーボード割付

OK

OKボタンがクリックされると、このイベントが発行されます。

Enter

インデックス

[インデックス一覧]を開きます。

Ctrl+K

ウィンドウ位置変更

ウィンドウの位置が変更された時にアクティブになります。

 

ウィンドウサイズ変更

ウィンドウのサイズが変更された時にアクティブになります。

 

ウィンドウヒット

ウィンドウがマウスでクリックされた時にトリガされます。

 

キャンセル

現在の行の編集を取り消します。全てのデータ項目をその行が読み取られた時の値に戻します。

注意:

レコードをキャンセルすると、レコードに入り直すため[レコード前]ロジックユニットが実行されます。

Ctrl+F2

クローズ

現在表示中のウィンドウを閉じ、実行しているタスクを終了します。

Ctrl+F4

コンテキストがフォーカス取得

コンテキストがフォーカスを受け取った場合、この非同期イベントが実行されます。

[コンテキストがフォーカス取得]イベントは、前のコンテキストのコンテキストID/コンテキスト名を表す文字列パラメータをサポートします。

このイベントに対するハンドラを定義すると、パラメータを作成するかどうかを確認するダイアログが表示されます。[はい]をクリックすると、以下のパラメータが作成されます。

  • 名前 …… 前のコンテキストID

  • …… コンテキストID文字型

  • 書式 …… 50

 

コンテキストがフォーカス喪失

コンテキストがフォーカスを失った場合、この非同期イベントが実行されます。

[コンテキストがフォーカス喪失]イベントは、次のコンテキストのコンテキストID/コンテキスト名を表す文字列パラメータをサポートします。

このイベントに対するハンドラを定義すると、パラメータを作成するかどうかを確認するダイアログが表示されます。[はい]をクリックすると、以下のパラメータが作成されます。

  • 名前 …… 次のコンテキストID

  • …… コンテキストID文字型

  • 書式 …… 50

 

コンテキストを閉じる

現在のコンテキストまたはオープン中のコンテキストが終了します。この内部イベントが発行されると、通常のタスク終了処理が実行されます。この内部イベントによって、コンテキスト内の全てのタスクが終了します。

終了するコンテキストがメインコンテキストであっても無視され、ログモニタに記録されます。

 

コントロールヒット

コントロールがマウスでクリックされた時にアクティブになります。

このイベントは、コントロールのタイプに依存して動作が異なります。

  • オンラインタスクの場合……([プッシュボタン]コントロールを除く)すべてのコントロールに対して、マウスをクリックすることで、[コントロールヒット]イベントが発行されます。このイベントに対するハンドラが定義されており、[伝播]特性が「No」に設定されている場合、マウスクリックのデフォルトの動作が実行されなくなります。例えば、リストボックスやコンボボックスからの選択ができなくなります。
    [プッシュボタン]コントロールに対して、マウスボタンがリリースされると[コントロールヒット]イベントが発行されます。

  • リッチクライアントタスクの場合……[コントロールヒット]イベントはオンラインタスクと同じように発行されますが、[コントロールヒット]ハンドラでこのイベントの[伝播]特性を「No」にした場合の動作が異なります。オンラインタスクの場合は、デフォルトの動作(リストボックスからの選択などの)ができなくなりますが、リッチクライアントタスクの場合は、デフォルトの動作が実行されません。

 

サブフォーム再表示

サブフォームの[自動再表示]特性が「No」に設定されていたり、タスク内の値を変更しない場合に、サブフォームの再表示させます。

[サブフォーム再表示]イベントでは、「サブフォームコントロール名」というパラメータを渡す必要があります。

このイベントは、以下のように使用します。

サブフォームを配置した親タスクがあり、サブフォームに渡すパラメータが定義されているものとします。この場合、項目の内容が入力された後でなく、項目が更新された後でのみサブフォームが再表示されるようにするプログラムを作成します。

これを実現するには、[自動再表示]特性を「No」に設定し、全てのパラメータが設定された時点で[サブフォーム再表示]イベントを実行します。

 

ズーム

[ズーム]イベントを発行します。

F5

ソート

[ソート]テーブルを開きます。

Ctrl+S

ダブルクリック

コントロールをマウスでダブルクリックした場合にトリガされます。

 

データビューが空

このイベントは、タスクの範囲指定によってデータビューが空の状態になった場合に発生します。

[レコード前]が実行される代わりにこのイベントが実行されます。

 

ドラッグ開始

ドラッグ許可]特性が「Yes」 に設定されたコントロール上でマウスの左ボタンがクリックし、その状態でマウスポインタを移動させることで、コントロールをドラッグさせることができます。

ドラッグ処理が始まると、以下に示すように、 Magicエンジンは、ドラッグ処理が行われるコントロールのタイプに従ってドラッグするデータを自動的に設定することができます。

 [ドラッグ開始] イベントをトリガとしたユーザ定義ハンドラを作成することで、タスクデータを処理し、以下のようにドラッグ処理を行うことができます。

  • DragSetData 関数を使用したドラッグデータの制御

  • DragSetCrsr 関数を使用したドラッグ時のアイコン制御

レコードがマークされた[テーブル]コントロール上でドラッグ処理を行うと、[ドラッグ開始] イベントをトリガにしたハンドラはマークされた各レコードに対して実行されます。

 

ドロップ

[ドロップ許可] 特性が 「Yes」 に設定されたコントロールでマウスの左ボタンを離すことで、コントロールのドロップ処理が可能です。「ドロップ」 イベントをトリガとしたユーザ定義ハンドラを作成することで、タスクデータを処理し、以下のようにドロップ処理を行うことができます。

  • DropFormat 関数を使用した現在のドラッグ & ドロップ処理の有効/無効の確認

  • DropGetData 関数を使用した定義フォーマットのデータの取得

  • DropMouseX および、 DropMouseY 関数を使用したドロップ処理時のマウス カーソルの位置の取得

 

ビュー再表示

ビューを再度読み込みます。

Ctrl+K

ブラウザステータス テキスト変更

このイベントは、[ブラウザ]コントロールのステータスバーに表示されるテキストが変更されたことをMagicエンジンが認識するためのものです。

これは、コントロールと通信する場合に便利です。JavaScript関数を使用することでコントロールのステータスバーにデータを書き込んだり、イベント発生時に取得することができるステータスバーのメッセージを表示させることができます。[ブラウザ]コントロール上には、ステータスバーは表示されません。このイベントを利用することで、[ブラウザ]コントロール内で表示されるべきステータスバーの内容を、リッチクライアント形式フォームのステータスバーに表示させることができます。

ロジックユニットでこのイベントを設定すると、パラメータの作成確認のダイアログが表示されます。[はい]をクリックすると、以下の特性を持つパラメータ項目が作成されます。

  • パラメータ名:Status Text

  • データ型:BLOB型([内容]特性は、「Unicode」)

実行時、ブラウザコントロールのステータステキストに変更がある場合、このベントが自動的に発生し、パラメータにステータスメッセージが表示されます。

 

プログラム再呼出

[タスク特性]で、[並行実行]特性を有効にし、[単一インスタンス]有効にすると、このプログラムが2度目に起動された場合に、フォーカスがすでに実行中のインスタンス上に設定されます。しかし、(データビューの準備のような)初期化処理が行なわれません。

[プログラム再呼出]イベントは、フォーカスが再呼出されたタスク上で発行されます。

呼ばれたプログラムを再表示するには、[プログラム再呼出]イベントロジックユニット内で[ビュー再表示]イベントを実行してください。

 

レコード書込

[レコード書込]イベントは、データベースに現在のレコードの書き込みを行います。

 

位置付

[レコードの位置付]ダイアログを開きます。

Ctrl+L

位置付/次候補

次の該当レコードに位置付けます。

Ctrl+Shift+L

位置付/前候補

前の該当レコードに位置付けます。

Ctrl+Shift+N

画面再表示

エンドユーザは、画面をスクロールせずに表示されているレコードを再表示できます。

実行モードでこのイベントが発行された場合、実行エンジンが現在のレコードの処理を終了し、画面に表示されている位置に従って全てのレコードを再読込します。通常、カーソルは現在のレコードに残った状態になります。

 

開始値

範囲/位置付指定の開始値を設定します。

F7

行作成

新しい行を作成します。

F4

行削除

行を削除します。

F3

取消終了

レコードの更新を取り消し、タスクを終了します。

 

現在のレコードの編集をキャンセルし、行の全ての項目の内容は元に戻り、現在のタスクを終了します。

[取消終了]イベントは、[キャンセル]イベントと[終了]イベントの両方を結合したもので、レコードの更新をキャンセルし、タスクの終了を簡単に行うための方法を提供するものです。

 

修正

レコードの修正モードになります。

Ctrl+M

終了

現在実行しているタスクを終了します。

Esc

終了値

範囲/位置付け指定の終了値を設定します。

F8

照会

レコードの照会モードになります。

Ctrl+Q

登録

レコードの登録モードになります。

Ctrl+E

入出力ファイル

[入出力ファイル]テーブルを開きます。[入出力ファイル]テーブルは、主にバッチタスクで使用します。

Ctrl+I

範囲

[複写登録]ダイアログを開きます。

Ctrl+R