なでしこを明後日の方向に

日本語プログラム言語なでしこを応援しています

なでしこで右クリックメニューを作る

f:id:tkizzz:20210429172749j:plain

右クリックで出てくるメニューはポップアップメニューといいます。
なでしこでこれを作る方法はだいたい2つ。

「ポップアップメニュー一括作成」を使う方法と使わない方法です。

今回は使わないほうでやります。

部品の構造を理解する

popとはポップアップメニュー

「a,b,c,d,e」「,」区切って反復
  r=回数-1
  menu[r]メニューして作成
  menu[r]テキスト対象
  menu[r]pop追加

母艦ポップアップメニューpop

まず「ポップアップメニュー」部品を作って
次に「メニュー」部品を作成。
ポップアップメニューにメニュー部品を追加していきます。

f:id:tkizzz:20210429171935j:plain

どの部品を右クリックしたらポップアップメニューが出てくるかは
(親部品)ポップアップメニュー(ポップアップメニュー部品) で指定します。

メニューのイベントを設定する

popとはポップアップメニュー

「a,b,c,d,e」「,」区切って反復
  r=回数-1
  menu[r]メニューして作成
  menu[r]テキスト対象
  menu[r]クリックした時メニュークリック時 //←ここ
  menu[r]pop追加

母艦ポップアップメニューpop

//メニューのイベントを追加
●メニュークリック時
 イベント部品テキスト表示

メニュー1つ1つが部品なので、メニューにイベントを設定します。
「イベント部品」(予約語)が押されたメニューの代わりをしてくれるので
イベント部品→テキストといった指定ができます。

メニューにチェックを入れる

f:id:tkizzz:20210429172327j:plain

●メニュークリック時
 イベント部品チェックオン

これでクリックした時にチェックは入ります。
実際は「メニューのうち1個だけチェック入れたいんだ、他のをオフにしたい」と思うはず。

popとはポップアップメニュー

「a,b,c,d,e」「,」区切って反復
  r=回数-1
  menu[r]メニューして作成
  menu[r]テキスト対象
  menu[r]クリックした時メニュークリック時
  menu[r]pop追加

母艦ポップアップメニューpop

●メニュークリック時
 menu反復
   対象チェックオフ
 イベント部品チェックオン

クリックした時のイベントで
全てのメニューを反復してチェックをオフにして
イベント部品にチェックを入れる。

これで「2つ以上チェックが付かないメニュー」ができました。