WebBrowserでDocumentCompleteより前にクリックイベントを取りたい

解決


nori  2005-04-22 01:00:13  No: 121140

お世話になってます
WebBrowserコントロールについてお聞きしたく思います
VB6です

現在WebBrowserで表示されているコンテンツの
クリックイベントを取得しています。方法としては

Private WithEvents Body As MSHTML.HTMLBody

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
        Set Body = WebBrowser1.document.Body
End Sub

Private Function Body_Onclick() As Boolean
  '何を押されたのかの判定ロジック
End Function

上記ソースではMSHTML.HTMLBodyオブジェクトの生成の
タイミングがDocumentCompleteイベント時に
なっておりコンテンツが読み込み完了しないと
Bodyのクリックイベントが走りません

そこで質問なのですが、
DocumentComplete以外のDocumentCompleteより先に走る
イベントでコンテンツ内のクリックイベントをとる
方法をご存知でしたらお聞きしたいのですが。

※なぜこのようなことを実現したいかというと
サイズの重い画像を含んだWEBページを参照すると
(1MBの画像を30枚程度含むページです)
DocumentCompleteイベント発生までかなり時間がかかり
その間にコンテンツをクリックしてもVB側では
イベントが発生しない事象があるからです
画像をクリックさせるわけではないのに
画像の読込完了を待たないとクリックしても
反応しないのはまずいわけでして・・

質問内容や実装の方法が間違っている場合は
ご指摘願います。宜しくお願い致します。


nori  2005-04-22 02:57:46  No: 121141

自己レスです

ProgressChange(読込進度)や
StatusTextChange(・・を読み込んでます とかの表示)
などのイベントで
Set Body = WebBrowser1.Document.Body
を書くことで読込途中のBodyを取得できることが
わかりました
Body_onClickも走ります

この掲示板に書き込むためにいま一度ソースを整理したから
発見することができました


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

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






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