• ベストアンサー

MouseDownとMouseMoveイベントで質問です。

学校の課題の為VB6.0でマウスを使用したプログラムを作成しているのですが、 MouseDownイベントとMouseMoveイベントで解らないことがあるので、 知っているかた、お願いします。 マウスの右ボタンと左ボタンの区別をつけるにはどうしたらいいのでしょうか? 例えば「左の時は描画し、右の時は描画しない」と言う感じで… わからなくて困っています。ぜひ、お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • qwerty
  • ベストアンサー率43% (20/46)
回答No.1

マウスイベントの引数Buttonにボタンの種類の情報が入っています。 これで良かったと思います。 Select Case Button Case vbLeftButton '左ボタン処理 Case vbRightButton '右ボタン処理 Case vbMiddleButton '中ボタン処理 End Select

megumi_0120
質問者

お礼

大変、参考になりました。月曜日の提出に間に合いそうです。 どうも、ありがとうございました。

その他の回答 (1)

  • leel
  • ベストアンサー率0% (0/6)
回答No.2

補足を。 MouseDown の際は qwerty 様の回答どおりなのですが、 MouseMove の際には複数のボタンが押されている場合がありますので、それを考慮する必要があるなら、考慮しましょう。 たとえば、 If Button and vbLeftButton Then で、左ボタンが押されている状態 If Button and vbRightButton Then で、右ボタンが押されている状態 で、 If Button and (vbLeftButton or vbRightButton) Then で、左右のボタンが押されている状態 になります。

参考URL:
http://www.asia.microsoft.com/japan/developer/library/default.asp
megumi_0120
質問者

お礼

回答ありがとうございました。参考にさせて頂きます。

関連するQ&A

  • javascriptのイベント処理につきまして

    左クリックをした時と、クリックを解除をした時 右クリックをした時と、クリックの解除をした時 クリックを解除した時は共通の処理を行います。 左クリックをした時と、右クリックをした時の処理は分けたいと思っているのですが、上手くいきません。ご教授願えますでしょうか・・・。 [ mousedownとmouseup ] この場合、クリックした瞬間にmousedownイベントが走り、クリックを上げた瞬間にmouseupイベントができます。 ただし、右クリックでも同様の処理が走ってしまいます。 [ contextmenu と onclick ] 上記を利用すると、右クリックはcontextmenu処理を行い、左クリックはonclick処理を行いますが、この2つのイベントはマウスが押されて離された瞬間にイベントが発生しますので、mouseup処理が先に処理してしまします。 よろしくお願い致します。

  • TabStripのイベントについて

    VB6にて開発しています。 VB.NETと違い、VB6の[TabStrip]には各ページにコンテナが用意されていません。 そこで、[PictureBox]をコンテナにして、実行時の[Crick]イベントにて [SelectedItem.Index]を参照し、[Visible]プロパティを切り替えて使用しています。 しかしここでひとつ不具合が起こります。 タブをクリック(押下)したままドラッグしてフォーム外でドロップすると、 タブ自体は切り替わりますが、[Crick]イベントが発生しません。 [TabStrip]の[MouseUp]イベント時に[Crick]イベントをコールするという方法で 回避しています。 ですが、そもそも一般のタブは(例えば画面のプロパティ等のタブ) マウスを押した(押下)時点でページが変わります。 これを実現したく、思考錯誤しています。 [Crick]イベントでは、マウスを押して放した時にイベントが発生します。 マウスを押した(押下)時点で切り替えるには、必然的に[MouseDown]時に [Visible]プロパティを切り替えなければいけないと思うのです。 が、イベントの発生順序は[MouseDown]→[Crick]→[MouseUp]という順で発生する為、 どうしても[Crick]時に取得する[SelectedItem.Index]が[MouseDown]時に取得できず、 実現しません。 VB6でマウスを押した(押下)時のページ切り替えを実現する方法はないのでしょうか? [参考] Private Sub TabStrip1_Click() Dim i As Byte With Me For i = 0 To 8 .Picture1(i).Visible = False Next i i = .TabStrip1.SelectedItem.Index - 1 .Picture1(i).Visible = True End With End Sub

  • VB.NETでマウスクリックイベントを発生させたい。

    VB.NETでformの外で任意の座標でマウスクリックイベントを発生させたい。 formにはボタンがあり、そのボタンを押すを固定位置(formの外)でマウスの左クリックイベントを発生させたいのですがどのような手段を使えばいいでしょうか。 環境 Windows XP,VB2008 Exoress

  • イベントの発生について

    vb6を利用しています。 コマンドボタン上で マウスボタンを押し続けていると、その間だけ継続的にイベントが起きるようにはできないのでしょうか? 教えて下さい

  • マウスドラッグで四角形を表示するには

    WinXPでVisual Basic 6.0をもちいてアプリケーションを作っています。 Formオブジェクトのデザインのときに、マウスを左クリックしてドラッグすると破線の四角形が表示されますよね。 あれと同じようなものを作成するアプリに実装したいと思っているのですが、どのようにしたら良いでしょうか。 MouseDownとMouseMoveを用いてやってみたのですが、これではForm上が四角ばかりになってしまいました。 良い方法を教えてください。

  • MFCのイベント処理について

    MFCのイベント処理でOnLButtonDwonとOnRButtonDownの2つにそれぞれの描画処理を割り当てて、マウスをドラッグ(OnMouseMove)しているときにぞれぞれのボタンの処理を呼び出す時はどうすればいいでしょうか。

  • Motifのイベントの制御について教えてください

    LinuxでMotifを使用してプログラムを作成しています。 言語は、C言語です。 Motifのウィンドウを起動して、ボタンにフォーカスがあたっている状態でEnterキーを押しても反応しません。 その代わりにSpaceキーだとマウスでクリックした時と同じ状態となります。 Enterキーでボタンを実行したいのですが制御する方法があるのでしょうか? また、スクロールウインドウを表示させそこに図形描画で表を描画しています。 その上にポップアップウィンドウを表示させて、その状態でスクロールバーをマウスの左ボタンで1度だけクリックしても最終端まで移動してしまいます。 原因がよくわかりません何か対処方法があれば教えてください。表示しているポップアップウィンドウは、最前面に固定で表示するようにしています。

  • イベントの内容が書かれているサイト又は書籍

    vb.netでイベントの詳細が記載されているホームページ またはマニュアル等ありませんでしょうか Click       クリック        マウスの左ボタンでクリックしたとき DoubleClick   ダブルクリック     マウスの左ボタンでダブルクリックしたとき TextChange  テキストチェンジド テキストの内容が変化したとき Load       ロード        作成されたとき Resize   リサイズ      大きさが変わったとき Closing   クロージング    破棄されるとき Enter       エンター    フォーカスを取得したとき Leave   リーブ        フォーカスを失ったとき KeyPress   キープレス    キーボードを押したとき Tick       ティック      時間が経ったとき 例えば上記のようなイベントの内容が書かれたサイト、書籍 等あれば教えてください ありとあらゆるイベントの内容が網羅されていると助かります ※わかりやすく書かれているのがベターです

  • ボタンをマウスで押し続けたときのイベント

    VB2005,Frameworks2を使用しています。 フォームに設置したButtonは、通常マウスをクリックする度にイベントが発生しますが、これをボタンをマウスで押している間だけイベントを発生されたいのですがその様なイベントやボタンの設定が見つかりません。 やはりタイマー等を使わないと再現できないのでしょうか? よろしくお願いします。

  • ドラッグをさせない方法は?

    現在、JavaScriptでドラッグを不可にさせるような方法を 探しております。  ドラッグといっても、画像等のドラッグ&ドロップでは なく、画面内の文字をドラッグ(mousedownさせたまま、 mousemoveみたいな感じ。うまく表現できなくて申し訳 ありません)  なにか良い方法をご存知の方はいらっしゃいませんで しょうか?    mousedownイベント発生時に強制的にmouseupや mousemoveを不可にするような方法があれば良いとは 思っているのですが・・・。  よろしくお願いいたします。