Form event code
Form event code -> 戻り値
引数 | 型 | 説明 | |
---|---|---|---|
戻り値 | 倍長整数 | 🡐 | フォームイベント番号 |
互換性に関する注意
Form event code は以前のバージョンの4D ではForm event という名前でした。これはオブジェクト型を返すFORM Event コマンドが追加されたときに、分かりやすさのために名称が変更されました。
説明
Form event codeコマンドは、現在生成中のフォームイベントタイプを示す数値を返します。通常フォームやオブジェクトメソッド内でForm event codeを使用します。
4DにはForm Eventsテーマで定義された定数が用意されており、Form event codeから返される値と比較することができます。
イベントには、一般的なイベント(任意のタイプのオブジェクトに対して生成される)と、特定タイプのオブジェクトのみに発生するイベントがあります。
定数 | 型 | 値 | コメント |
---|---|---|---|
On Load | 倍長整数 | 1 | フォームが表示または印刷されようとしている |
On Mouse Up | 倍長整数 | 2 | (ピクチャーのみ) ユーザーがピクチャーオブジェクト内にて左マウスボタンを離した |
On Validate | 倍長整数 | 3 | レコードのデータ入力が受け入れられた |
On Clicked | 倍長整数 | 4 | オブジェクト上でクリックされた |
On Header | 倍長整数 | 5 | フォームのヘッダエリアが印刷あるいは表示されようとしている |
On Printing Break | 倍長整数 | 6 | フォームのブレークエリアのひとつが印刷されようとしている |
On Printing Footer | 倍長整数 | 7 | フォームのフッタエリアが印刷されようとしている |
On Display Detail | 倍長整数 | 8 | レコードがリスト中に、あるいは行がリストボックス中に表示されようとしている |
On VP Ready | 倍長整数 | 9 | (4D View Proエリアのみ) 4D View Pro エリアのロードが完了した |
On Outside Call | 倍長整数 | 10 | フォームがPOST OUTSIDE CALLによる呼び出しを受けた |
On Activate | 倍長整数 | 11 | フォームウィンドウが最前面のウィンドウになった |
On Deactivate | 倍長整数 | 12 | フォームウィンドウが最前面のウィンドウでなくなった |
On Double Clicked | 倍長整数 | 13 | オブジェクト上でダブルクリックされた |
On Losing Focus | 倍長整数 | 14 | フォームオブジェクトがフォーカスを失った |
On Getting Focus | 倍長整数 | 15 | フォームオブジェクトがフォーカスを得た |
On Drop | 倍長整数 | 16 | データがオブジェクトにドロップされた |
On Before Keystroke | 倍長整数 | 17 | フォーカスのあるオブジェクトに文字が入力されようとしている。Get edited textはこの文字を含まないオブジェクトのテキストを返す |
On Menu Selected | 倍長整数 | 18 | メニュー項目が選択された |
On Plug in Area | 倍長整数 | 19 | 外部オブジェクトのオブジェクトメソッドの実行がリクエストされた |
On Data Change | 倍長整数 | 20 | オブジェクトのデータが変更された |
On Drag Over | 倍長整数 | 21 | データがオブジェクト上にドロップされる可能性がある |
On Close Box | 倍長整数 | 22 | ウィンドウのクローズボックスがクリックされた |
On Printing Detail | 倍長整数 | 23 | フォームの詳細エリアが印刷されようとしている |
On Unload | 倍長整数 | 24 | フォームを閉じて解放しようとしている |
On Open Detail | 倍長整数 | 25 | 出力フォームまたはリストボックスに関連付けられた詳細フォームが開かれようとしている |
On Close Detail | 倍長整数 | 26 | 入 力フォームから離れ、出力フォームに移動しようとしている |
On Timer | 倍長整数 | 27 | SET TIMERコマンドで設定した時間が経過した |
On After Keystroke | 倍長整数 | 28 | フォーカスのあるオブジェクトに文字が入力されようとしている。Get edited textはこの文字を含むオブジェクトのテキストを返す |
On Resize | 倍長整数 | 29 | フォームウィンドウまたはサブフォームオブジェクトがリサイズされた (後者の場合は、サブフォームのフォームメソッドにおいてイベントが生成されます) |
On After Sort | 倍長整数 | 30 | (リストボックスのみ) リストボックスの列中で標準のソートが行われた |
On Selection Change | 倍長整数 | 31 | リストボックスと4D View Pro: 現在の行や列の選択が変更された リスト中のレコード: リストフォームまたはサブフォームにおいて、カレントレコードあるいはカレントセレクションの行選択が変更された 階層リスト: リスト中の選択がクリックやキーストロークなどで変更された 入力可フィールドや変数: クリックやキー押下により、選択されたテキストやカーソルの位置がエリア内で変更された |
On Column Moved | 倍長整数 | 32 | (リストボックスのみ) リストボックスの列がユーザのドラッグ&ドロップで移動された |
On Column Resize | 倍長整数 | 33 | (リストボックスと4D View Pro) リストボックスの列幅がユーザーのマウス操作によって変更された |
On Row Moved | 倍長整数 | 34 | (リストボックスのみ) リストボックスの行がユーザのドラッグ&ドロップで移動された |
On Mouse Enter | 倍長整数 | 35 | マウスカーソルがオブジェクトの描画エリア内に入った |
On Mouse Leave | 倍長整数 | 36 | マウスカーソルがオブジェクトの描画エリアから出た |
On Mouse Move | 倍長整数 | 37 | マウスカーソルがオブジェクトの描画エリア上で (最低1ピクセル) 動いたか、変更キー(Shift, Alt, Shift Lock)が押された イベントがオブジェクトに対してのみチェックされていた場合は、マウスカーソルがオブジェクトの描画エリア内にあった場合にのみイベントが生成されます。 |
On Alternative Click | 倍長整数 | 38 | 3Dボタン: 3D ボタンの"三角"エリアがクリックされたリストボックス: オブジェクト配列のカラム内においてエリプシスボタン("alternateButton" 属性)がクリックされた 注: エリプシスボタンはv15以降のバージョンでのみご利用いただけます。 |
On Long Click | 倍長整数 | 39 | (3Dボタンのみ) 3D ボタンがクリックされ、特定の時間以上マウスボタンが押され続けている |
On Load Record | 倍長整数 | 40 | リスト更新中、更新中にレコードがロードされた (ユーザがレコード行をクリックし、フィールドが編集モードになった) |
On Before Data Entry | 倍長整数 | 41 | (リストボックスのみ) リストボックスセルが編集モードに変更されようとしている |
On Header Click | 倍長整数 | 42 | (リストボッ クスと4D View Pro) リストボックスの列ヘッダでクリックが行われた |
On Expand | 倍長整数 | 43 | (階層リストまたは階層リストボックスのみ) クリックやキーストロークで階層リストの要素が展開された |
On Collapse | 倍長整数 | 44 | (階層リストまたは階層リストボックスのみ) クリックやキーストロークで階層リストの要素が折りたたまれた |
On After Edit | 倍長整数 | 45 | フォーカスのあるオブジェクトの内容が更新された |
On Begin Drag Over | 倍長整数 | 46 | オブジェクトがドラッグされている |
On Begin URL Loading | 倍長整数 | 47 | (Webエリアのみ) 新しいURLがWeb エリアにロードされた |
On URL Resource Loading | 倍長整数 | 48 | (Webエリアのみ) 新しいリソースがWeb エリアにロードされた |
On End URL Loading | 倍長整数 | 49 | (Webエリアのみ) URLのすべてのリソースがロードされた |
On URL Loading Error | 倍長整数 | 50 | (Webエリアのみ) URLをロード中にエラーが発生した |
On URL Filtering | 倍長整数 | 51 | (Webエリアのみ) Web エリアがURLをブロックした |
On Open External Link | 倍長整数 | 52 | (Webエリアのみ) 外部URLがブラウザで開かれた |
On Window Opening Denied | 倍長整数 | 53 | (Webエリアのみ) ポップアップウィンドウがブロックされた |
On bound variable change | 倍長整数 | 54 | サブフォームにバインドされた変数が更新された |
On Page Change | 倍長整数 | 56 | フ ォーム中のカレントページが変更された |
On Footer Click | 倍長整数 | 57 | (リストボックスのみ) リストボックスあるいはリストボックス列でフッターがクリックされた |
On Delete Action | 倍長整数 | 58 | (階層リストとリストボックスのみ) ユーザーが項目の削除を試みた |
On Scroll | 倍長整数 | 59 | マウスやキーボードを使用して、ユーザーがピクチャーフィールドや変数の内容をスクロールした。 |
On Row Resize | 倍長整数 | 60 | (4D View Pro のみ) 行の高さがユーザーのマウスによって変更された |
On VP Range Changed | 倍長整数 | 61 | 4D Vierw Pro のセルレンジが変更された(例: フォーミュラの計算、値がセルから削除された、など) |
注: 出力フォーム用のイベントをプロジェクトフォームで実装することはできません。関連するイベントは以下の通りです: On Display Detail, On Open Detail, On Close Detail, On Load Record, On Header, On Printing Detail, On Printing Break, On Printing Footer
イベントとメソッド
フォームイベントが発生すると、4Dは以下のアクションを行います:
- まず4Dはフォーム中のオブジェクトをブラウズし、発生したオブジェクトイベントがプロパティで選択されているすべてのオブジェクトのオブジェクトメソッドを呼び出します。
- 次に、発生したイベントに対応するフォームイベントがプロパティで選択されていれば、フォームメソッドを呼び出します。
オ ブジェクトメソッドが特定の順序で呼び出されることを期待することはできません。おおざっぱに言って、オブジェクトメソッドは常にフォームメソッドよりも 前に呼び出されます。オブジェクトがサブフォームの場合、サブフォームリストフォームのオブジェクトメソッドが呼び出され、次にリストフォームのフォーム メソッドが呼び出されます。そして4Dは引き続き、親フォームのオブジェクトメソッドを呼び出します。言い換えれば、オブジェクトがサブフォームの時、 4Dはサブフォームオブジェクト内で、オブジェクトとフォームメソッドの関係と同じルールを適用します。
On Load と On Unload イベントを除き、発生したイベントがフォームイベントプロパティで選択されていなかったとしても、オブジェクトプロパティで選択されていればそのオブジェ クトメソッドの呼び出しが妨げられることはありません。言い換えれば、フォームレベルでイベントを有効あるいは無効にしても、オブジェクトイベントプロパ ティには影響ありません。
特定のイベントに関連するオブジェクトの数は、イベントの性質により異なります:
- On Load イベント - On Loadオブジェクトイベントプロパティが選択されている、フォームのすべてのページのすべてのオブジェクトのオブジェクトメソッドが呼び出されます。そしてOn Loadフォームイベントプロパティが選択されていれば、フォームメソッドが呼び出されます。
- On Activate や On Resize イベント - これらのイベントは個々のオブ ジェクトには適用されず、フォームに適用されるため、オブジェクトメソッドは呼び出されません。ゆえにOn Activate フォームイベントプロパティが選択されてれば、そのフォームメソッドのみが呼び出されます。
- On Timer イベント - このイベントは事前にSET TIMERコマンドが使用された場合にのみ生成されます。On Timer フォームイベントプロパティが選択されていると、フォームメソッドのみがイベントを受け取ります。オブジェクトメソッドは呼び出されません。
- On Drag Over イベント - "ドロップ可"プロパティが選択されていれば、イベント中で関連するドロップ可能なオブジェクトのみオブジェクトメソッドが呼び出されます。フォームメソッドは呼び出されません。
逆にOn Begin Drag Overイベントについては、ドラッグされているオブジェクトのオブジェクトメソッドやフォームメソッドが呼び出されます ("ドラッグ可"プロパティが選択されていれば)。
警告: 他のすべてのイベントと異なり、On Begin Drag Over やイベント中、呼び出されるメソッドは、ドラッグ&ドロップソースオブジェクトのプロセスのコンテキストで実行されます。ドラッグ&ドロップ先のオブジェクトではありません。詳細はドラッグ&ドロップを参照してください。
- フォームのOn Mouse Enter, On Mouse Move および On Mouse Leave イベントが選択されていると、これらのイベントはフォームオブジェクトごとに生成されます。これらがオブジェクトで有効にされている場合、イベントはこの オブジェクトに対してのみ生成されます。多層構造のオブジェクトの場合、上位レベルから下位レベルに向けてそのイベントを処理できるオブジェクトを探し、 最初に見つかったオブジェクトによりイベントが生成されます。OBJECT SET VISIBLE コマンドを使用して非表示にされたオブジェクトでは、これらのイベントは生成されません。オブジェクト入力中、他のオブジェクトはマウスの位置によりこの タイプのイベントを受け取るかもしれません。
On Mouse Move イベントはマウスカーソルが動いたときだけではなく、ユーザーが変更キー(Shift, Shift Lock, Ctrl または Option)を押したときにも発生することに注意して下さい(これにより、ドラッグ&ドロップによるコピーや移動も管理できるようになります)。 - リスト中のレコード: DISPLAY SELECTION / MODIFY SELECTIONで表示されるリストフォームやサブフォームでメソッドやフォームイベントが呼び出される順序は以下のとおりです:
| ヘッダーエリアのそれぞれのオブジェクトごとに: |
| ---------------------------------------------------------------------------------------------------------------------------------------------- |
| オブジェクトメソッドのOn Header イベント フォームメソッドのOn Header イベント レコードごとに: 詳細エリアのオブジェクトごとに: オブジェクトメソッドのOn Display Detail イベント フォームメソッドのOn Display Detail イベント | - On Display Detail や On Headerイ ベントでダイアログボックスを表示する4Dコマンドを呼び出すことはできません。これはシンタックスエラーを起こします。以下のコマンドが関連します: ALERT, DIALOG, CONFIRM, Request, ADD RECORD, MODIFY RECORD, DISPLAY SELECTION そして MODIFY SELECTION。
- On Page Change: このイベントはフォームレベルでのみ利用でき (フォームメソッド内でのみ使用します)、フォームのカレントページが変更されるたびに生成されます (FORM GOTO PAGE コマンドの呼び出しや標準ナビゲーションアクションに伴い)。ページが完全にロードされた後に呼び出されることに留意してください。 例えば (Webエリアを含む) すべてのオブジェクトが初期化された後です。このイベントはすべてのオブジェクトが初期化済みの状態で実行する必要のあるコードがあるときに有用です。ま たフォームがロードされたときにすべてのコードを実行するのではなく、特定のページが開かれたときにのみコードを実行するようにして、アプリケーションを 最適化できます。ユーザーがそのページを開かなければ、コードは実行されません。
以下の表はそれぞれのイベントごとにどのようにオブジェクトメソッドとフォームメソッドが呼ばれるかを概説します:
イベント | オブジェクトメソッド | フォームメソッド | オブジェクト |
---|---|---|---|
On Load | O | O | すべてのオブジェクト |
On Unload | O | O | すべてのオブジェクト |
On Validate | O | O | すべてのオブジェクト |
On Clicked | O (クリック可能または入力可能なら) (*) | O | 関係するオブジェクトのみ |
On Double Clicked | O (クリック可能または入力可能なら) (*) | O | 関係するオブジェクトのみ |
On Before Keystroke | O (入力可能なら) (*) | O | 関係するオブジェクトのみ |
On After Keystroke | O (入力可能なら) (*) | O | 関係するオブジェクトのみ |
On After Edit | O (入力可能なら) (*) | O | 関係するオブジェクトのみ |
On Getting Focus | O (フォーカス可なら) (*) | O | 関係するオブジェクトのみ |
On Losing Focus | O (フォーカス可なら) (*) | O | 関係するオブジェクトのみ |
On Activate | X | O | None |
On Deactivate | X | O | None |
On Outside Call | X | O | None |
On Page Change | X | O | None |
On Begin Drag Over | O (ドラッグ可なら) (**) | O | 関係するオブジェクトのみ |
On Drop | O (ドロップ可なら) (**) | O | 関係するオブジェクトのみ |
On Drag Over | O (ドロップ可なら) (**) | Never | 関係するオブジェクトのみ |
On Mouse Enter | O | O | すべてのオブジェクト |
On Mouse Move | O | O | すべてのオブジェクト |
On Mouse Leave | O | O | すべてのオブジェクト |
On Mouse Up | O | X | 関係するオブジェクトのみ |
On Menu Selected | X | O | None |
On Bound variable change | X | O | None |
On Data Change | O (更新可なら)) (*) | O | 関係するオブジェクトのみ |
On Plug in Area | O | O | 関係するオブジェクトのみ |
On Header | O | O | すべてのオブジェクト |
On Printing Detail | O | O | すべてのオブジェクト |
On Printing Break | O | O | すべてのオブジェクト |
On Printing Footer | O | O | すべてのオブジェクト |
On Close Box | X | O | None |
On Display Detail | O | O | すべてのオブジェクト |
On Open Detail | X (ただしリストボックス以外) | Yes | リストボックスのみ |
On Close Detail | X (ただしリストボックス以外) | Yes | リストボックスのみ |
On Open Detail | X | O | None |
On Close Detail | X | O | None |
On Resize | X | O | None |
On Selection Change | O (***) | O | 関係するオブジェ クトのみ |
On Load Record | X | O | None |
On Timer | X | O | None |
On Scroll | O | X | 関係するオブジェクトのみ |
On Before Data Entry | O (リストボックス) | X | 関係するオブジェクトのみ |
On Column Moved | O (リストボックス) | X | 関係するオブジェクトのみ |
On Row Moved | O (リストボックス) | X | 関係するオブジェクトのみ |
On Column Resize | O (リストボックスと4D View Proエリア) | X | 関係するオブジェクトのみ |
On Header Click | O (リストボックスと4D View Proエリア) | X | 関係するオブジェクトのみ |
On Footer Click | O (リストボックス) | X | 関係するオブジェクトのみ |
On After Sort | O (リストボックス) | X | 関係するオブジェクトのみ |
On Long Click | O (3D ボタン) | O | 関係するオブジェクトのみ |
On Alternative Click | O (3D ボタンとリストボックス) | X | 関係するオブジェクトのみ |
On Expand | O (階層リストとリストボックス) | X | 関係するオブジェクトのみ |
On Collapse | O (階層リストとリストボックス) | X | 関係するオブジェクトのみ |
On Delete Action | O (階層リストとリストボックス) | X | 関係するオブジェクトのみ |
On URL Resource Loading | O (Web エリア) | X | 関係するオブジェクトのみ |
On Begin URL Loading | O (Web エリア) | X | 関係するオブジェクトのみ |
On URL Loading Error | O (Web エリア) | X | 関係するオブジェクトのみ |
On URL Filtering | O (Web エリア) | X | 関係するオブジェクトのみ |
On End URL Loading | O (Web エリア) | X | 関係するオブジェクトのみ |
On Open External Link | O (Web エリア) | X | 関係するオブジェクトのみ |
On Window Opening Denied | O (Web エリア) | X | 関係するオブジェクトのみ |
On VP Ready | O (4D View Pro エリア) | O | 関係するオブジェクトのみ |
On Row Resize | O (4D View Pro エリア) | O | 関係するオブジェクトのみ |
(*) 詳細は後述の "イベント、オブジェクト、プロパティ" を参照
(**) 詳細は"ドラッグ&ドロップ"を参照
(***) リストボックス、階層リスト、サブフォーム型のオブジェクトのみがこのイベントをサポートします
重要: イベントに対応するプロパティが選択されている場合にのみ、フォームやオブジェクトのメソッドが呼び出されることに留意してください。デザインモードの フォームエディタのプロパティリストでイベントを無効にすると、メソッドが呼び出される回数を減らすことができ、フォームの実行速度を最適化できます。
警告: オブジェクトのOn Load と On Unload イベントが生成されるには、オブジェクトとオブジェクトが属するフォームの両方で有効にされていなければなりません。オブジェクトのみでイベントが有効に なっている場合、イベントは生成されません。これら2つのイベントはフォームレベルでも有効にされていなければなりません。
イベント、オブジェクト、プロパティ
イベントの性質やプロパティに基づき、オブジェクトに対してイベントが生成されるとオブジェクトメソッドが呼び出されます。ここでは、さまざまなタイプのオブジェクトを扱うにあたり、一般的に使用されるイベントについて詳細に説明します。
フォームエディタのプロパティリストには、選択されたオブジェクトあるいはフォームで利用可能なイベントのみが表示されることに留意してください。
クリック可能なオブジェクト
クリック可能なオブジェクトは主にマウスで操作します。以下のオブジェクトが含まれます:
- ブールの入力可能フィールド/変数
- ボタン, デフォルトボタン, ラジオボタン, チェックボックス, ボタングリッド
- 3D ボタン, 3D ラジオボタン, 3D チェックボックス
- ポップアップpメニュー, 階層ポップアップメニュー, ピクチャメニュー
- ドロップダウンリスト, メニュー/ドロップダウンリスト
- スクロールエリア, 階層リスト, リストボックス, リストボックスカラム
- 非表示ボタン, ハイライトボタン, ラジ オピクチャ
- サーモメータ, ルーラ, ダイアル (スライダオブジェクト)
- タブコントロール
- スプリッタ
On Clicked や On Double Clicked オブジェクトイベントプロパティを選択したのち、Form event コマンドを使用してオブジェクト上でのクリックを検知し処理することができます。Form event コマンドはユーザアクションに応じ、On Clicked または On Double Clickedを返します。
注: 4D v14以降、テキスト(テキスト、日付、時間、数字型)が含まれる入力可能なフィールドおよび変数は On Clicked と On Double Clicked イベントを生成するようになりました。
両イベントがオブジェクトに対し選択されている場合、ダブルクリックが行われるとまずOn Clicked が、そしてOn Double Clicked イベントが生成されます。
これらすべてのオブジェクトにおいて、On Clickedイベントはマウスボタンが離されたときに生成されます。しかしいくつか例外があります:
- 非表示ボタン - マウスがクリックされると、ボタンが離されるのを待たずにOn Clickedイベントが生成されます。
- スライダオブジェクト (サーモメータ, ルーラ, ダイアル) - 表示フォーマットでコントロールをスライド中にオブジェクトメソッドが呼び出されるように設定されていると、On Clickedイベントはクリックが行われるとすぐに生成されます。
On Clicked イベントのコンテキストにおいてはClickcount コマンドを使うことによってユーザーが行ったクリック数をテストすることができます 。
注: いくつかのオブジェクトはキーボードからも操作可能です。例えばチェックボックスがフォーカスを得ると、スペースバーでオン/オフを切り替えることができます。この場合でもOn Clickedイベントは生成されます。
警告: コンボボックスはクリック可能なオブジェクトとしては扱われません。コンボボックスは入力可能なテキストエリアとして扱われ、割り当てられたドロップダウンリストにはデフォルト値が提供されます。コンボボックスの処理はOn Before Keystroke, On After Keystroke そして On Data Change イベントを使用して行います。
注: 4D v13 以降、ポップアップメニュー/ドロップダウンリストと、階層ポップアップメニューもOn Data Change を生成できるようになりました。これにより、カレントの値と異なる値が選択されたときにオブジェクトの起動を察知できるようになりました。
キーボードから入力可能なオブジェクト
キーボードから入力可能なオブジェクトとは、キーボードを使用してデータを入力できるオブジェクトです。これらのオブジェクトではOn After Edit, On Before KeystrokeそしてOn After Keystrokeイベントを検知し、Get edited textコマンドを使用して、低レベルでデータ入力をフィルタできます。
キーボード入力可能なオブジェクトやデータタイプには以下が含まれます:
- 文字、テキスト、日付、時間、数値、そしてピクチャ(On After Edit のみ) など、すべての入力可能なフィールドオブジェクト
- 文字、テキスト、日付、時間、数値、そしてピクチャ(On After Edit のみ) など、すべての入力可能な変数
- コンボボックス
- リストボックス
注: 4D v14以降、テキスト(テキスト、日付、時間、数字型)が含まれる入力可能なフィールドおよび変数は On Clicked と On Double Clicked イベントを生成するようになりました。
注: 階層リストは入力可能なオブジェクトですが、このオブジェクトではOn After Edit, On Before KeystrokeそしてOn After Keystrokeは管理されません (後述の “階層リスト” の段落を参照)。
- On Before Keystroke と On After Keystroke注: On After Keystroke イベントは、一般的に On After Edit イベントで置き換えることができます(詳細後述)。
On Before Keystroke と On After Keystroke イベントプロパティを選択したら、Form event codeコマンドを使用して返されるOn Before KeystrokeとOn After Keystrokeイベントを検知し、オブジェクトへのキーストロークを処理できます (詳細はGet edited textコマンドの説明を参照してください。これらのイベントはPOST KEYのようなユーザアクションをシミュレートするコマンドによっても生成されます。
キーボードを使用せず、ペーストやドラッグ&ドロップなどで行われた変更は考慮されないことに留意してください。これらのイベントを処理するためにはOn After Editを使用します。
Note: On Before KeystrokeとOn After Keystroke イベントは入力メソッド (IME) 使用時は生成されません。入力メソッドはプログラムあるいはシステムコンポーネントで、日本語や中国語など特定の文字や記号を入力するために使用されます。
- On After Edit
このイベントは、変更が行われた方法には関係なく、入力可能オブジェクトの内容に変更が行われるたびに生成されます。例えば:
- ペーストやカット、削除、キャンセルなどの標準の編集アクション
- 値のドロップ (ペーストと同様のアクション)
- ユーザが行ったキーボードからの入力。この場合On After EditイベントはOn Before KeystrokeとOn After Keystrokeイベントの後に生成されます。
- ユーザアクションをシミュレートするランゲージコマンドを使用した変更 (例 POST KEY)。
以下のアクションはこのイベントを生成させないことに注意してください:
- コピーやすべてのを選択のような、内容を変更しない編集アクション;
- 値のドラッグ (コピーに該当するアクション);
- プログラムにより行われた内容の変更、ただしユーザアクションをシミュレートするコマンドを除く。
このイベントはユーザアクションをコントロールするために使用できます。例えば長すぎるテキストのペーストや特定の文字のブロック、パスワードフィールドに対するカットを防ぐなどです。
- On Selection Change:
(入力可であるかそうでないかに関わらず)テキストフィールドや変数に適用されると、このイベントはカーソルの位置が変わるたびに生成されます。例えばユーザーがマウスやキーボードの矢印キーをを 使用してテキストを選択したときや、ユーザーがテキストを入力したときです。ここでGET HIGHLIGHTのようなコマンドを呼び出すことができます。
変更可能オブジェクト
更新可能オブジェクトは、マウスやキーボードを使用して値を変更することのできるデータソースを持ちます。これらはOn Clickedイベントで処理されるユーザインタフェースコントロールとしては扱われません。以下が含まれます:
- すべての入力可フィールドオブジェクト (Blobを除く)
- すべての入力可変数 (Blob、ポインタ、配列を除く)
- コンボボックス
- 外部オブジェクト (完全なデータ入力が許可されるプラグイン)
- 階層リスト
- リストボックスとリストボックスカラム
これらのオブジェクトはOn Data Changeイベントを受け取ります。On Data Changeオブジェクトイベントプロパティが選択されると、Form event コマンドから返されるOn Data Changeによりイベントを検知し、データソース値の変更を処理できます。イベントは、オブジェクトに結び付けられた変数が4Dにより内部的に更新され次第、生成されます (例えば、一般的に入力エリアオブジェクトがフォーカスを失った時)。