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

8.1 配列化したコントロールを使ったアプリケーションを作成する

本節では、配列化したコントロールを使ったアプリケーションを、以下のように作成しながら説明します。

  1. フォームにコントロールを配置します。

  2. コントロールを配列化します。

  3. 配列化したコントロールの手続きを記述します。

ポイント

本節でこれから作成していくサンプルプログラムは、"Array\Array1.ppj"に格納されています。必要に応じて参照してください。

フォームにコントロールを配置する

以下の手順で、フォームにコントロールを配置します。

  1. プロジェクトのテンプレートから[標準フォーム]を選択し、新規にプロジェクトを作成します。

  2. フォームを開き、スタティックテキストコントロール1個と、コマンドボタンコントロール3個を、下図のように配置します。

ポイント

プロジェクトの作成方法は、「4.1 プロジェクトを作成する」を、コントロールの配置方法は、「4.2 フォームを編集する」を参照してください。

コントロールを配列化する

以下の手順で、コマンドボタンコントロールを配列化します。

  1. 左側に配置したコマンドボタンコントロール"CmCommand1"を選択します。

  2. ポップアップメニューの[配列化]サブメニューから[新規作成]コマンドを選択します。

  3. プロジェクトウィンドウのデザインツリーウィンドウ上で、配列名"CmCommand1"を"ArrayButton1"に変更します。

  4. フォーム編集ウィンドウに戻り、中央に配置したコマンドボタンコントロール"CmCommand2"を選択します。

  5. ポップアップメニューの[配列化]サブメニューから[ArrayButton1]コマンドを選択します。

  6. 同様にして、右側に配置したコマンドボタンコントロール"CmCommand3"を選択し、ポップアップメニューの[配列化]サブメニューから[ArrayButton1]コマンドを選択します。

  7. プロジェクトウィンドウのデザインツリーウィンドウで、"ArrayButton1[配列]"に3個のコマンドボタンコントロールが含まれていることを確認します。

ポイント

列化するための、その他の操作方法については、「5.2.5 コントロールを配列化して利用する」を参照してください。

配列化したコントロールの手続きを記述する

複数のコントロールを配列化すると、イベント手続きはそれぞれのコントロールがもつのではなく、同じイベント手続きを共有することになります。つまり、どのコントロールでイベントが発生しても同じイベント手続きが実行されるということです。

配列化しているコントロールのイベント手続きを編集する場合、イベント手続きの引数として、イベントが発生したコントロールのインデックス(POW-INDEX)が追加されます。このデータ項目を参照することにより、配列内のどのコントロールでイベントが発生したか知ることができます。配列内のコントロールがもつインデックスは、プロパティ設定ダイアログボックスの[共通]タブにある、[インデックス]の値です。

このサンプルプログラムでは、以下のように動作する手続きを記述します。

手続きは、以下のようになります。

ArrayButton1-Click

    ENVIRONMENT     DIVISION.
    DATA            DIVISION.
    WORKING-STORAGE SECTION.
    01  W-COLOR     PIC S9(9) COMP-5.
    LINKAGE         SECTION.
    01  POW-INDEX   PIC S9(9) COMP-5.
    PROCEDURE       DIVISION USING POW-INDEX.
  * クリックしたコマンドボタンのインデックスから背景色を決めます。
        EVALUATE POW-INDEX
        WHEN 1
          MOVE POW-COLOR-RED   TO W-COLOR
        WHEN 2
          MOVE POW-COLOR-GREEN TO W-COLOR
        WHEN 3
          MOVE POW-COLOR-BLUE  TO W-COLOR
        END-EVALUATE
  * スタティックテキストの背景色を設定します。
        MOVE W-COLOR TO "BackColor" OF CmStatic1

ポイント

このサンプルプログラムを拡張し、スタティックテキストも配列化したサンプルプログラムが、"Array\Array2.ppj"に格納されています。

注意

配列化した場合に引数に追加されるインデックス"POW-INDEX"のデータ項目名を変更することはできますが、引数自体を削除することはできません。引数を削除した場合、アプリケーションが正常に動作しなくなる場合があります。