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

8.5.3 マウスの右ボタンがクリックされたときの手続きを記述する

マウスの右ボタンがクリックされたときの手続きは、MouseUpイベントに記述します。サンプルプログラムでは、フォーム上で右クリックした場合にポップアップメニューを表示します。ポップアップメニューを表示するための手続きは、以下のようになります。

MainForm-MouseUp

    ENVIRONMENT     DIVISION.
    DATA            DIVISION.
    WORKING-STORAGE SECTION.
    LINKAGE         SECTION.
    01  POW-BUTTON  PIC S9(4) COMP-5.
    01  POW-SHIFT   PIC S9(4) COMP-5.
    01  POW-X       PIC S9(9) COMP-5.
    01  POW-Y       PIC S9(9) COMP-5.
    PROCEDURE       DIVISION.
*    マウスの右ボタンの場合、ポップアップメニューを表示します。
        IF POW-BUTTON = 2 THEN
          INVOKE POW-SELF "PopupMenu" USING "Popupmenu1"
        END-IF

MouseUpイベントでは、クリックされたボタンの種類、同時に押されたキーおよびマウスポインタの位置が引数で渡ってきます。ボタンの種類を示すPOW-BUTTONの値から、ポップアップメニューを表示するかどうかを判定します。ポップアップメニューは、PopupMenuメソッドを使って表示できます。

ポイント

上記の手続きは、フォーム自身が右クリックされた場合に実行されます。したがって、表コントロールやコマンドボタンコントロールなど、コントロールが配置されている位置で右クリックしても、ポップアップメニューは表示されません。つまり、複数のポップアップメニューを用意しておけば、右クリックしたコントロールごとに、異なったポップアップメニューを表示できます。

複数のポップアップメニューを表示する方法は、サンプルプログラムの"Menu\PopupMenu.ppj"で参照することができます。