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

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

AppendChk (追加モード) 画面フックメソッド

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

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

この画面アプリを追加モードに移行させてよいかどうかの関門チェックを行う。そして、必要に応じて追加モードに移行するにあたっての初期設定処理 (下図の中の桃色で示した追加モード向け初期設定処理) を行う。

 

役割を果たした後の動作: 関門チェックを通過し初期設定処理が済んだ後は、直ちに追加モードになり、画面が初期化されて、アプリ操作者からのインプットが受け付けられるようになる。

この後はアプリ操作者の指示次第でいろいろな処理の流れになり得るが、アプリ操作者が追加モードでのインプットを終えて実行の指示 (Execute 指示) を行うことで、画面フックメソッド Append が呼び出されるのが本流である。

関門チェックにおいて拒否した場合 (つまり追加モードへの移行を許可しなかった場合) は、動作モードは変わらず元のままであり、何事もなかったかのように画面上のデータも変更されずに残る。

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

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

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

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

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

Java での書き方:
 boolean AppendChk(パラメタ宣言列)
 または
 boolean 画面略称_AppendChk(パラメタ宣言列)

なお、フック名としては、AppendChk の他に AppendC および追加モードを用いることができる。

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

アプリ操作者からこの画面を追加モードに変えよという指示 (AppendC 指示) がなされたとき。または、動作モードの遷移に関する画面フックメソッド (Append, Delete, IndicateExec, SelectFh, SelectExec, Update) の戻り値によって追加モードに変えよという伝言がなされた後。

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

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

FormBase.APPENDCHK_Allow (= True): 追加モードへの移行を許可せよ。

FormBase.APPENDCHK_Deny (= False): 追加モードへの移行を拒否せよ。FormBase は、この伝言を受けると、アプリ操作者からなされた AppendC 指示を無視して、指示がなされなかったかのように振る舞う。つまり、アプリ操作者からなされた AppendC 指示は無効になる。

デフォルト動作: AppendChk 画面フックメソッドが組み込まれていない場合の動作は、FormBase.APPENDCHK_Allow が設定された場合と同様である。

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

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

"データエントリに移行します。"

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

このフックメソッドの中で、追加モードへの移行を拒否することにした場合は、適当なメッセージをアプリ操作者に向けて発してから、戻り値を FormBase.APPENDCHK_Deny にしてください。

アプリ操作者は、何のメッセージも示されないと、自分の指示どおりに追加モードへの移行がなされるものと期待する。そこで、この期待に応えるためには、戻り値を FormBase.APPENDCHK_Allow にすることが必要である。

データエントリ型アプリまたはデータエントリ更新型アプリのプログラムの開始時には、戻り値として必ず FormBase.APPENDCHK_Allow を設定してください。

関連事項

動作モードの変更を関門チェックする画面フックメソッドには、この他に Indicate, SelectFh, UpdateChk がある。

使用例

' 追加モードへの移行の際のチェックを行う (AppendChk)。
Friend Function 追加モード(ByVal fB As FormBase) As Boolean
    ' 画面を追加モードの色に設定。
    If Not CType(fB.myForm, Fr_受注業務).BackColor.Equals(System.Drawing.Color.Silver) Then
        CType(fB.myForm, Fr_受注業務).BackColor = System.Drawing.Color.Silver
        CType(fB.myForm, Fr_受注業務).Refresh()
    End If
    ' 
    Return FormBase.APPENDCHK_Allow
End Function ' 追加モード
// 追加モードへの移行の際のチェックを行う (AppendChk)。
internal bool 追加モード( FormBase fB ) {
    // 画面を追加モードの色に設定。
    if (!((Fr_受注業務)fB.myForm).BackColor.Equals(System.Drawing.Color.Silver)) {
        ((Fr_受注業務)fB.myForm).BackColor = System.Drawing.Color.Silver;
        ((Fr_受注業務)fB.myForm).Refresh();
    }
    // 
    return FormBase.APPENDCHK_Allow;
} // 追加モード
// 追加モードへの移行の際のチェックを行う (AppendChk)。
boolean 追加モード( FormBase fB ) {
    // 画面を追加モードの色に設定。
    if (!((Fr_受注業務) fB.myForm).getBackground().equals(
                                                      ColorSpec.Silver)) {
        ((Fr_受注業務) fB.myForm).setBackground(ColorSpec.Silver);
        ((Fr_受注業務) fB.myForm).repaint();
    }
    // 
    return FormBase.APPENDCHK_Allow;
} // 追加モード