お世話になってます
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側では
イベントが発生しない事象があるからです
画像をクリックさせるわけではないのに
画像の読込完了を待たないとクリックしても
反応しないのはまずいわけでして・・
質問内容や実装の方法が間違っている場合は
ご指摘願います。宜しくお願い致します。
自己レスです
ProgressChange(読込進度)や
StatusTextChange(・・を読み込んでます とかの表示)
などのイベントで
Set Body = WebBrowser1.Document.Body
を書くことで読込途中のBodyを取得できることが
わかりました
Body_onClickも走ります
この掲示板に書き込むためにいま一度ソースを整理したから
発見することができました
ツイート | ![]() |