Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

2.12.7 ポップアップ・メニューの作成

ポップアップ・メニューは、ユーザーがコンポーネントを選択し、右マウス・ボタンをクリックすると表示されます。通常、コンポーネントに共通して関連するオプションのショートカットの作成に使用されます。

ポップアップ・メニューを作成するには、リポジトリタブのグループのメニューを開きます。ポップアップ・メニューを関連付けるコンポーネントにドラッグします。これ以外の方法では、コンポーネントを右クリックし、ポップアップ・メニューを起動し、Pop-up Menuオプションを選択します。メニュー・アイテムのキャプションを入力できる編集ボックスがデザインビューの上部に表示されます。

...

Image Added

編集ボックスにメニュー・アイテムのキャプションを入力します。アイテムを追加するには、Enterキーを押します。

Image RemovedImage Added

実行時にユーザーがフィールドを右クリックすると、ポップアップ・メニューが表示されます。

Image RemovedImage Added

作成後にポップアップ・メニューを編集するには、関連付けるコンポーネントを右クリックし、ポップアップメニューの編集オプションを選択します。これ以外の方法では、[アウトライン] タブのポップアップ・メニューを選択します。

...

ポップアップ・メニューとコンポーネントは、コンポーネントの PopupMenu プロパティを使用して関連付けられます。このプロパティを使用し、ポップアップ・メニューを他のコンポーネントに割り当てることができます。

Image RemovedImage Added

同じポップアップ・メニューを複数のコンポーネントで使用することができます。例えば、エクスプローラ・タイプのインターフェース (左にツリー・ビュー、右にリスト・ビュー) では、通常は1つのポップアップ・メニューだけを使用します。

     DEFINE_

...

COM CLASS(#PRIM_TRVW)

...

 NAME(#TREEVIEW)

...

 POPUPMENU(#PMNU_1)
DEFINE_

...

COM CLASS(#PRIM_LTVW)

...

 NAME(#LISTVIEW)

...

 POPUPMENU(#PMNU_1)

...

その後、ポップアップ・メニューの1つのメニュー・アイテムごとに、選択されたアイテムのタイプによりアクションを実行するコードを記述します。この例では、ツリー・ビューのキー列は #DEPTMENT フィールドと #SECTION フィールドをソースにし、リスト・ビューのキー列は #EMPNO フィールドをソースにします。

...

     EVTROUTINE HANDLING(#MiDetail.click)

...

     if '#empno *ne *blanks'

...

        invoke #EmpForm.activateForm

...

        set #EmpForm emp_value(#empno)

...

 emp_dept(#deptment)

...

 emp_sect(#section)

...

     else  
if '#section *ne *blanks'

...

        invoke #SecForm.activateform

...

        set #SecForm dept_value(#deptment)

...

 sect_value(#section)

...

 top(#std_num)

...

     else  
if '#deptment *ne *blanks'

...

        invoke #DeptForm.activateform

...

        set #DeptForm dept_value(#deptment)

...

     endif  
endif 
endif 
ENDROUTINE