Page History
2.12.7 ポップアップ・メニューの作成
ポップアップ・メニューは、ユーザーがコンポーネントを選択し、右マウス・ボタンをクリックすると表示されます。通常、コンポーネントに共通して関連するオプションのショートカットの作成に使用されます。
ポップアップ・メニューを作成するには、リポジトリタブのグループのメニューを開きます。ポップアップ・メニューを関連付けるコンポーネントにドラッグします。これ以外の方法では、コンポーネントを右クリックし、ポップアップ・メニューを起動し、Pop-up Menuオプションを選択します。メニュー・アイテムのキャプションを入力できる編集ボックスがデザインビューの上部に表示されます。
...
編集ボックスにメニュー・アイテムのキャプションを入力します。アイテムを追加するには、Enterキーを押します。
実行時にユーザーがフィールドを右クリックすると、ポップアップ・メニューが表示されます。
作成後にポップアップ・メニューを編集するには、関連付けるコンポーネントを右クリックし、ポップアップメニューの編集オプションを選択します。これ以外の方法では、[アウトライン] タブのポップアップ・メニューを選択します。
...
ポップアップ・メニューとコンポーネントは、コンポーネントの PopupMenu プロパティを使用して関連付けられます。このプロパティを使用し、ポップアップ・メニューを他のコンポーネントに割り当てることができます。
同じポップアップ・メニューを複数のコンポーネントで使用することができます。例えば、エクスプローラ・タイプのインターフェース (左にツリー・ビュー、右にリスト・ビュー) では、通常は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







