Hatena::Groupnadesiko

はてなこ このページをアンテナに追加 RSSフィード

2013-12-17

左クリックでポップアップメニュー

| 19:56 | 左クリックでポップアップメニュー - はてなこ を含むブックマーク はてなブックマーク - 左クリックでポップアップメニュー - はてなこ

ポップアップメニューはマウスの右クリックで表示するメニューですが、イメージ部品等に設定した場合、左クリックに何のイベントも設定してない場合、左クリックでポップアップメニューが出ると便利だな。と、思い作ってみました。

考え方

1.左クリックされたら右クリックする方法を考える。
これは「マウス右クリック」という命令があるのでこれを使います。

2.右クリックは逆に表示させない
ポップアップメニューはキーボードのESCキーで閉じることが出来るので、「キー送信」命令を使って右クリックで表示させないようにできる。

3.左クリックで右クリックさせると2の作用で表示されない
フラグを用意して、どっちのクリックか判断する。

作ったサンプル

ここから
マウスフックとは整数変数

マウスポップアップとはポップアップメニュー
マウスポップアップに『
,黄色メニュー,黄色,,,テストイメージ黄色画面クリア
,緑色メニュー,緑色,,,テストイメージ緑色画面クリア
,青色メニュー,青色,,,テストイメージ青色画面クリア
,赤色メニュー,赤色,,,テストイメージ赤色画面クリア
』をポップアップメニュー一括作成

テストイメージとはイメージ
これ赤色画面クリア
ポップアップメニューはマウスポップアップ
のマウス離した時は~左ポップアップ #●

●左ポップアップ
  もしイベント部品→押されたボタンが「左」ならば
    マウスフックはオンオンでESCキーをやめさせる
    マウス右クリック	#マウスを右クリックさせる命令
  もしイベント部品→押されたボタンが「右」ならば
    もし、マウスフックならば、マウスフックはオフ
    違えば、『{ESC}』をキー送信	#左クリックから来てるので表示をやめさせる
#ここまで

イベント「マウス離した時は~」がある部品であれば動くと思います。
イベントはエディタGUIタブの部品で確認出来ます。
※右クリックを連打するとたまにチラッとメニュー表示されることがあります