右クリックで別画面を表示するには?


おすぎ&ピーコ  2002-09-12 05:16:29  No: 104927

画面上のボタンを右クリックすると違う画面を表示させるように
していのですが、どのようにすればよいのでしょうか?
何かよい方法はありますか?


t@Ki  2002-09-12 05:25:05  No: 104928

なぜ右クリックでなければならないのでしょう?
通常コマンドボタンのClickイベントにShowメソッドを書き込み
別フォームを表示させることが実現できます。
既にClickイベントに別の処理が存在するのであれば、
もう一つコマンドボタンを用意すればよいと思います。


おすぎ&ピーコ  2002-09-12 05:44:22  No: 104929

既にClickイベントに別の処理が存在しており、他にコマンドボタンを
追加できない状態なのです。


t@Ki  2002-09-12 07:29:49  No: 104930

一応できないことはないです。
コマンドボタンのMouseDownイベントに右クリックされたときだけ
処理するように書き込みます。

Private Sub Command1_MouseDown _
       (Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = vbRightButton Then
        Call Form2.Show
    End If
End Sub

しかし、こういう使い方はWindows標準のインターフェイスから大きく逸脱
しているため、あまり好ましくないとされています。
なぜ好ましくないかというと、

・通常とは違う操作なのでユーザーを混乱させる
・思わぬところで思わぬエラーが発生し、デバックに苦労する

などあげられます。
なるべくほかの方法を取ることをお勧めします。


たかみちえ  URL  2002-09-12 08:36:29  No: 104931

Clickイベントがすでに埋まってるのなら、右クリックより、これらの方法をお勧めします。

1.Clickイベントで、メニューをポップアップして、選んでもらう。
2.ボタンを、2分割する。(スペースが無いなら、無理やり拡張するとか、サイズを半分にするとか)
3.まったくほかの方法を考える。

  なぜならt@Kiさんの言うとおり、右クリックはポップアップメニューという暗黙の了解が(あるかどうかは知りませんが(^^ゞ)Windowsにはあります。
  さらに、右クリックイベントを作っても、ボタンがへっこみません。
SendMessageでできなくは無いですけど、Clickと衝突するので、
うまくよけないといけません。

  フォームを表示するような、特に大事な動作は、
右クリックにしないほうがいいと思います。


多分  2002-09-12 10:03:13  No: 104932

ポップアップメニューを自分で作って、
ポップアップメニューの中に入れるって方法もありますよ。
ただし、フォーム上だとコピー・貼り付けができるけど、
ほかのアプリケーションにできないっていうのがあったような。

いろいろ不都合があったような。。。

かなり昔に本で読んでやっただけなのでまったくテストしてないので・・・・

あとあまり記憶に残ってないです。


多分  2002-09-12 10:05:15  No: 104933

あっ
たかみちえさんがすでに書いてましたね。

ごめんなさい。
お酒飲んで酔ってます。
本当にごめんなさい。


おすぎ&ピーコ  2002-09-12 18:17:49  No: 104934

皆さんご返答ありがとうございました。私のやりたいことを簡単に説明します。
まず、下図のような数字がランダムに入っている表が画面いっぱいに表示されて
います。ここで既にある数字をないところにドラック・アンド・ドロップで移動することができます。数字のあるところで右クリックすると違う画面を表示し、その
数字を変更できるといった感じです。右クリックというのは決め事なので変える事はできないのです。

|___|___|___|___|___|___|___|___|___|_                             |   |   |   |   |   |   |   |   |   |   
|3__|7__|___|4__|___|___|12_|___|13_|_
|   |   |   |   |   |   |   |   |   |
|9__|___|___|___|3__|___|___|6__|9__|_
|   |   |   |   |   |   |   |   |   |
|___|1__|___|___|2__|10_|1__|___|___|_
|   |   |   |   |   |   |   |   |   |


おすぎ&ピーコ  2002-09-12 18:19:50  No: 104935

すいません。表が見づらくなってしまいました。
ようは表があってその中にところどころランダムに数字が
入ってるイメージです。


たかみちえ  URL  2002-09-13 02:44:42  No: 104936

> 右クリックというのは決め事なので変える事はできないのです。  
  それならもうt@Ki さんが例を書いているのですから、
それを使っては?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加