Webbrowserコントロールで新しいウィンドウを開かせないようにするには?

解決


Mura  2003-04-10 16:34:23  No: 77657  IP: [192.*.*.*]

Webbrowsrコントロールを使ったのですが新しいウィンドウで開くリンク先の時に
IE(標準のブラウザ)で開かれてしまいます。
これを同じウィンドウで開くことはできないのでしょうか?
もしくは開けないように。

お願いいたします。

ついでなのですがjava?で閉じるというボタンがありそこを押すとブラウザが閉じる
ページがあるのですがそれで閉じてしまうとWebbrowserコンポーネントが消えてしまいます。
これを回避する方法はない物でしょうか?

編集 削除
魔界の仮面弁士  2003-04-10 19:30:35  No: 77658  IP: [192.*.*.*]

> これを同じウィンドウで開くことはできないのでしょうか?
> もしくは開けないように。

NewWindow2イベントを利用する事ができます。

Option Explicit

Private Sub Form_Load()
    WebBrowser2.Visible = False
End Sub

Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
    Select Case MsgBox("新しいウィンドウで開きますか?", vbYesNoCancel Or vbQuestion)
     Case vbCancel
        Cancel = True
     Case vbNo
        Cancel = False
        Set ppDisp = WebBrowser2.Object
     Case vbYes
        Cancel = False
        Set ppDisp = Nothing
    End Select
End Sub

Private Sub WebBrowser2_BeforeNavigate2(ByVal pDisp As Object, URL, Flags, TargetFrameName, PostData, Headers, Cancel As Boolean)
    Cancel = True
    WebBrowser1.Navigate2 URL, Flags
End Sub


> ついでなのですがjava?で閉じるというボタンがあり
JScriptですね。

> それで閉じてしまうとWebbrowserコンポーネントが消えてしまいます。

WindowClosingイベントを利用してみてください。(バージョン5.5以上)

Private Sub WebBrowser1_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
    Cancel = True
End Sub

編集 削除
Mura  2003-04-11 10:44:16  No: 77659  IP: [192.*.*.*]

うまくいきました。ありがとうございます。

編集 削除