VBからの制御でIEにポップアップメニュー表示


さんちょ  2003-12-22 19:59:23  No: 81079

環境:VB.NET 2003 & Win2000 SP3 & IE6.0 SP1
教えてください!
IEからdocumentオブジェクトを取得する事までは出来たのですがポップアップメニューを
作成する記述がわかりません。これまでに質問して、やり方はうすうすわかったつもりなのですが、プログラム出来ていません。
以下、魔界の仮面弁士殿の発言>
>windowオブジェクトは、documentオブジェクトの
>parentWindowプロパティにて取得する事ができます。
>
>その後は、window.createPopupメソッドでpopupオブジェクトを生成し、
>そのpopup.documentプロパティに、メニュー項目となるHTML要素を記載する、と。

以下のような物を書いたのですが、document変数をウォッチすると
ParentWindowが内部キャストエラーになっているのですが..
Object型に代入すると、必要なメソッドがそのクラスに存在するのか分からない
もので..

Private HTMLWin As mshtml.HTMLWindow2
Private Sub IE_DocumentComplete(ByVal pDisp As Object, ByRef url As Object) Handles IE.DocumentComplete
   ' ドキュメントを渡す
   HTMLDocEvent = IE.Document
   Dim document As mshtml.IHTMLDocument = IE.Document ' ← 問題あり?
   HTMLWin = document.parentWindow
End Sub

Private Function HTMLDocEvent_ondbclick() As Boolean Handles HTMLDocEvent.ondblclick
  Dim popup As mshtml.HTMLPopupClass = HtmlDocWindow.createPopup
  Dim popupBody As mshtml.IHTMLElement = HtmlDocWindow.document.body
  popupBody.innerHTML = "<B>popup</B>"
  ' ポップアップメニュー表示
  popup.Show(Cursor.Position.X, Cursor.Position.Y, 150, 72, popupBody)
End Function


さんちょ  2003-12-22 20:00:20  No: 81080

魔界の仮面弁士殿
かってに発言を引用してすいません。お詫びします。


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

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






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