ページの先頭行へ戻る
NetCOBOL V12.0 PowerCOBOL ユーザーズガイド
FUJITSU Software

D.12 タブコントロールのページ変更前に入力をチェックしたい

処理

タブコントロールを使って、複数のページを作成しています。別のタブをクリックし、ページを切り替えるとき、切り替え前のページの入力内容をチェックして切り替えを抑止したい場合は、どうすればよいでしょうか?

操作方法

このような場合は、タブコントロールの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.