■52036 / inTopicNo.1) |
WebBrowserコントロールから別窓 |
□投稿者/ やんまー (14回)-(2010/07/29(Thu) 16:08:35)
|
分類:[VB.NET/VB2005 以降]
「WebBrowserコントロール内でtarget=_brank"なリンクを押すと、別窓でIEが開いてしまう」
恐れいります。 簡単なテストツールをつくろうとしてつまずいてます。
表題のとおりなのですが、なかなかうまくいきません。
まず、.netFramework2.0以降ではNewWindow2イベントがなくなっているため、できないということですよね・・・ で、
VB2005のWebBrowserコントロールにNewWindow2イベントを拡張する http://homepage1.nifty.com/yasunari/VB/VB2005/WebBrowserNewWindow2Event.htm
のような素晴らしい物を見つけたので、そのままコピペさせてもらいめでたくNewWindow2が使えるようになりました。。。
しかし、
http://rucio.bbs.coocan.jp/?m=listthread&t_id=568&summary=on の魔界の仮面弁士 様の回答の
「(4) NewWindow2 イベント内で ppDisp をセットすると、任意の WebBrowser に表示させることができる。 」
をまさにやりたいのですが、どうすればいいのかわかりませんでした・・・
とりあえず、ppDispで探してみますと、
http://support.microsoft.com/kb/184876/ja ----------------- Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean) Dim frmWB As Form1 Set frmWB = New Form1
frmWB.WebBrowser1.RegisterAsBrowser = TRUE
Set ppDisp = frmWB.WebBrowser1.Object frmWB.Visible = True End Sub ----------------- ((この例はVBAだからちょっと違うのかも・・・汗))
みたいな感じで、新たにフォームを作ってそこに表示、見たいのしかありませんでした。
単に、もうひとつWebBrowseを作ってあるので、そこに表示させたいだけなのですが。
で Sub ExWebBrowser1NewWindow2(sender As Object, e As WebBrowserNewWindow2EventArgs) e.ppDisp=me.webBrowser1 End Sub
な感じにしてみたのですが、、何も変化がありません。 (ただIEが別で立ち上がらなくなったので、前進はしてるかも・・・?!)
あと一歩だと思うのですが、どうぞよろしくお願いいたします。
|
|