メニューを閉じたときの動作について

投稿者: 投稿日:2019/10/25(Fri) 22:14:15 No.2512

 お世話になります。

 現在、コンテキストメニューを利用しようと考えていますが、以下の点がわからずに困っています。
 メニューをEscキー等で閉じた際に特定の処理を行いたいのですが、何か方法はないでしょうか。
 特にイベントとかもないようなので、困っています。
 少しわかりにくい説明かと思いますが、何かアドバイスをいただけますと幸いです。

 以上、よろしくお願いいたします。

Re: メニューを閉じたときの動作について

投稿者:アーク <info.nds.laboratry あっとまーくgmail.com> 投稿日:2019/10/28(Mon) 10:26:40 No.2513

こんにちは。アークです。

その様なので自分で実装するほか無さそうです。
そこで確認ですがメニュー項目を選択した場合にもメニューは閉じますが、
その時にも「閉じる」イベントは必要でしょうか。

Re^2: メニューを閉じたときの動作について

投稿者: 投稿日:2019/11/09(Sat) 12:41:20 No.2514

 こんにちは。
 返信遅くなってすみません。

 メニュー項目が選択されたときは、閉じる手順はいらないと思います。
 「クリックされた時」のイベントが発生すると思うので。

 それでは。

私なら…

投稿者:アーク <info.nds.laboratry あっとまーくgmail.com> 投稿日:2019/11/09(Sat) 15:21:37 No.2515

陸さん、こんにちは。アークです。

私ならこの様にします。
------------------------------------------------------------------------
窓というウィンドウを作る

窓へテキスト領域1というテキスト領域を作る
  そのドッキング方向を「全体」に変える

メニュー1というコンテキストメニューを作る
メニュー1へ切り取り項目というメニュー項目を追加する
  その内容を「切り取り(&T)」に変える
  そのクリックされた時の手順は、メニュー項目がクリックされた
メニュー1へコピー項目というメニュー項目を追加する
  その内容を「コピー(&C)」に変える
  そのクリックされた時の手順は、メニュー項目がクリックされた
メニュー1へ貼り付け項目というメニュー項目を追加する
  その内容を「貼り付け(&P)」に変える
  そのクリックされた時の手順は、メニュー項目がクリックされた
メニュー1へすべて選択項目というメニュー項目を追加する
  その内容を「すべて選択(&A)」に変える
  そのクリックされた時の手順は、メニュー項目がクリックされた
テキスト領域1のコンテキストメニューをメニュー1に変える

タイマー1というタイマーを作る
タイマー1の時間になった時の手順は、時間になった
タイマー1の間隔を200に変える

窓を表示する
待機する

// ここはメニューを表示させるコントロールに合わせる
テキスト領域1が右クリックされた時の手順
  タイマー1を開始する
終わり
  
時間になった時の手順
  メニュー項目がクリックされた
終わり
  
メニュー項目がクリックされた時の手順
  もし発生元が無なら
    もし[メニュー1の表示]が×なら
      タイマー1を停止する
      メニューが閉じた
    もし終わり
  そうでないなら
    タイマー1を停止する
    選択内容は、発生元の名前
    選択内容を表示する
  もし終わり
終わり

メニューが閉じた時の手順
  「メニューが閉じた」を表示する
終わり
------------------------------------------------------------------------
陸さんが望んでいるようなスマートな方法では無いかも知れませんが、
一応機能します。

Re: 私なら…

投稿者: 投稿日:2019/11/09(Sat) 17:07:53 No.2516

 こんにちは。

 なるほど、タイマーを使うんですね。
 全然思いつきませんでした。
 まあ、「タイマー1の時間になった時の手順」で直接「メニュー項目がクリックされた」を呼び出すようにしたら、エラーになってはまってしまいましたが…。
 どちらにせよ、うまくいったので、大変助かりました。
 ありがとうございました。

 以上、今後ともよろしくお願いいたします。

▲ページの先頭へ

- WebForum -