フック一覧 IndicateExec (画面フック) 前の画面フック 次の画面フック

VB C# ALL プログラミング言語によるフィルタ (ここで選んだ言語で選別された説明や図だけが表示されます)

IndicateExec (表示処理) 画面フックメソッド

 この画面フックメソッドは、主にアプリフレームと呼ばれる画面アプリのための上位フレームワークを設計する方々がお使いになるものです。一般のアプリ開発者の方々は、上位フレームワーク設計者から示された情報があれば、必ずしもここの内容を詳細に知る必要はありません。

役割 (この画面フックメソッドに委託されている処理)

表示モードで表示されている画面データを別のものに変更するかどうか、または動作モードを変更するかどうかの判断をする。なお、何も変更しないことにすることもできる。

 

役割を果たした後の動作: この画面フックメソッドの戻り値は、FormBase への伝言になっており、画面データ動作モード変更処理の可否、またはこの後の画面データ動作モードを指定する。たとえば、上図の太線のルートのように、引き続き表示モードを継続せよと伝言すると、FormBase は、画面を初期化して、さらに画面フックメソッド NextFh を呼び出して次の画面データを画面に表示することになる。

この画面フックメソッドの戻り値の指定で変更処理を否とした場合 (つまり FormBase.INDICATEEXEC_Nop を指定した場合)、または戻り値の指定に従って呼び出される画面フックメソッド UpdateChk, AppendChk, SelectFh の中で動作モードの移行が許可されなかった場合は、表示モードでデータを表示していた元の状態に戻る。これらの場合は、何事もなかったかのように画面上のデータも変更されずに残る。

配置 (ツーピーススタイルの場合にこの画面フックメソッドをどこに配置できるか)

ローカルピースかセントラルピースかのどちらか一方に配置する。または、どちらにも配置しない。

代表的な書き方 (詳しい構文はフックメソッドの書き方を参照)

VB での書き方:
 Friend Function IndicateExec(パラメタ宣言列) As Integer
 または
 Friend Function 画面略称_IndicateExec(パラメタ宣言列) As Integer

C# での書き方:
 internal int IndicateExec(パラメタ宣言列)
 または
 internal int 画面略称_IndicateExec(パラメタ宣言列)

Java での書き方:
 int IndicateExec(パラメタ宣言列)
 または
 int 画面略称_IndicateExec(パラメタ宣言列)

なお、フック名としては、IndicateExec の他に IndicateE および表示処理を用いることができる。

呼び出される契機 (以下が切っ掛けとなりこのフックメソッドが呼び出される)

アプリ操作者が表示モードにおいて画面データを参照し終えたので、操作上の次の状態に移りたいという意味の実行の指示 (Execute 指示) を行ったとき。

Execute 指示には、明の Execute 指示暗の Execute 指示がある。 いずれも“画面データを参照し終えたので次の状態に進め”という意味の指示である。

明の Execute 指示とは、アプリ操作者がボタン Cm_Execute をクリックすること、またはメニュー項目 Mn_Execute をクリックすることか、これに相当する操作 (対応するショートカットキーの押下) をすること、または Execute に対応づけられたファンクションキーを押下することを意味する。

暗の Execute 指示とは、画面の中にカーソルない状態で Enter キーを押下すること、またはカーソルが画面の中の最終位置にあるときに Enter キーを押下することを意味する。

戻り値の意味とデフォルト動作 (戻り値による FormBase への伝言)

FormBase.INDICATEEXEC_Nop (= 0): 動作モードの変更を行わずに、カレント画面データをそのまま表示せよ。FormBase は、この伝言を受けると、アプリ操作者からなされた Execute 指示を無視して、指示がなされなかったかのように振る舞う。つまり、アプリ操作者からなされた Execute 指示は無効になる。

FormBase.INDICATEEXEC_Select (= 1): 選択モードに移行せよ。なお、選択モードに移行する際には、SelectFh フックメソッドがあれば、それが呼び出されることになる。

FormBase.INDICATEEXEC_AppType (= 2): アプリの型に従って (データエントリまたはデータ照会の場合) 表示モードのままで画面データを初期化してカレントの次の画面データを表示するか、あるいは (データ更新またはデータエントリ更新の場合) 更新モードに移行してカレント画面データを表示せよ。

FormBase.INDICATEEXEC_Indicate (= 3): 表示モードのままで、画面データを初期化してカレントの次の画面データを表示せよ。

FormBase.INDICATEEXEC_Update (= 4): 更新モードに移行して、カレント画面データを表示せよ。

FormBase.INDICATEEXEC_Append (= 15): 追加モードに移行して、画面を初期化してデータエントリを受け付けよ。

デフォルト動作: IndicateExec 画面フックメソッドが組み込まれていない場合の動作は、FormBase.INDICATEEXEC_Nop が設定された場合と同様である。 ただし、表示モードでの Enter オプションをオンにしてある場合には、FormBase.INDICATEEXEC_Indicate が設定された場合と同様となる。

代行メッセージ (処理の流れに応じて発せられるメッセージ; カスタマイズ可能)

メッセージコード: "INDICATEE"

"この表示を終えてよいですか?"

使用上のヒントと注意事項

関連事項

Execute 指示によって呼び出される画面フックメソッドには、 この他に Append, SelectExec, Update がある。

使用例

' 。
Friend Function IndecateExec(ByVal fB As FormBase) As Integer
    Return FormBase.INDICATEEXEC_Indicate
End Function
// 。
internal int IndicateExec( FormBase fB ) {
    return FormBase.INDICATEEXEC_Indicate;
}
// 。
int IndicateExec( FormBase fB ) {
    return FormBase.INDICATEEXEC_Indicate;
}