タイトル | : Re^3: クリックで素早く押して離すと反応しません。 |
記事No | : 16317 |
投稿日 | : 2017/06/09(Fri) 15:51 |
投稿者 | : 魔界の仮面弁士 |
> ありがとうございます。自フォーム上ではなくWebブラウザーをクリックします。
WebBrowser コントロールの右クリック動作なら、こういう方法があります。 http://www.gizcollabo.jp/vbtomo/log/archive/choshoqa_18083_0.html
Option Explicit Private WithEvents doc As MSHTML.HTMLBody
Private Sub Form_Load() WebBrowser1.Navigate2 "http://hanatyan.sakura.ne.jp/index.html" End Sub
Private Sub doc_onmousedown() Debug.Print "onmousedown" DumpMouse End Sub
Private Function doc_oncontextmenu() As Boolean Debug.Print "oncontextmenu" DumpMouse
'True : コンテキストメニューを表示する 'False: コンテキストメニューを表示させない doc_oncontextmenu = False End Function
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant) Set doc = pDisp.Document.body End Sub
Private Sub DumpMouse() On Error Resume Next Dim eventObject As MSHTML.IHTMLEventObj Set eventObject = WebBrowser1.Document.parentWindow.event Debug.Print " XY=("; eventObject.x; ", "; eventObject.y; Debug.Print ") / Client ["; eventObject.clientX; ", "; eventObject.clientY; "]" Debug.Print " button="; eventObject.button; If eventObject.altKey Then Debug.Print " Alt"; If eventObject.ctrlKey Then Debug.Print " Ctrl"; If eventObject.shiftKey Then Debug.Print " Shift"; Debug.Print End Sub
> 他のマウスで試しても瞬時ですと処理されない同じ現象になりました。
GetAsyncKeyState で認識されないだけで、クリック時の処理は動作しているということですか? (クリック自体が認識されていないのかと思っていました)
>> mousePressed という API や COM メソッドに聞き覚えが無かったので、 >> どこで見つけたか教えてもらえないでしょうか。 冒頭に「PROCESSING 逆引きリファレンス」と書かれていますし、 それは Processing 言語ではありませんか? VB とは無関係だと思いますよ。 https://ja.wikipedia.org/wiki/Processing
|