タブコントロールを使って、複数のページを作成しています。別のタブをクリックし、ページを切り替えるとき、切り替え前のページの入力内容をチェックして切り替えを抑止したい場合は、どうすればよいでしょうか?
このような場合は、タブコントロールのBeforeClickイベントで、入力内容をチェックします。
以下に例を示します。BeforeClickイベントのパラメタの詳細は、『リファレンス』を参照してください。
◆CmTab1-BeforeClick
ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. LINKAGE SCTION. 01 POW-PAGEOLDINDEX PIC S9(9) COMP-5. 01 POW-CANCEL PIC S9(4) COMP-5. PROCEDURE DIVISION USING POW-PAGEOLDINDEX POW-CANCEL. * ページごとに入力内容をチェックします。 EVALUATE POW-PAGEOLDINDEX * 1ページめの内容をチェックします。 WHEN 1 * テキストボックスコントロールへの入力がなければ、 * メッセージボックスを表示し、ページを切り替えません。 IF "Text" OF CmText1 = SPACE THEN INVOKE POW-SELF "DisplayMessage" USING "テキストを入力してください" MOVE POW-TRUE TO POW-CANCEL EXIT PROGRAM END-IF …(同様にその他のチェックをします) * すべてのチェックがOKであれば、ページを切り替えます。 MOVE POW-FALSE TO POW-CANCEL WHEN 2 …(同様に2ページめの内容をチェックします) WHEN 3 … END-EVALUATE.