掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
WebBrowser上で右クリックを禁止するには? (ID:80216)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> 可能であれば、IDocHostUIHandlerを実装する方向で考えた方が良いでしょう。 以下、IDocHostUIHandlerを使ったサンプルです。 VB自身には、IDocHostUIHandlerやICustomDocを定義する機能がないので、 他の言語(C++、IDL、ODLなど)を使ってタイプライブラリを生成しておき、 それを参照設定する必要があります。 なお下記では、Eduardo A. Morcilloさんのライブラリを利用させてもらっています。 http://www.mvps.org/emorcillo/ Option Explicit Implements IDocHostUIHandler Private CustomDoc As ICustomDoc Private Sub Form_Load() ' WebBrowser1.Navigate2 "http://www.google.co.jp/" WebBrowser1.Navigate2 "http://www.bcap.co.jp/hanafusa/index.html" Do DoEvents Set CustomDoc = WebBrowser1.Document Loop While CustomDoc Is Nothing CustomDoc.SetUIHandler Me End Sub '規定の右クリック動作に関する実装 Private Sub IDocHostUIHandler_ShowContextMenu(ByVal dwContext As olelib.ContextMenuTarget, pPOINT As olelib.POINT, ByVal pCommandTarget As olelib.IOleCommandTarget, ByVal HTMLTagElement As Object) 'ここに、代替の処理を記述します。 'dwContext: どのコンテキストメニューが呼ばれたかを識別するフラグ 'pPOINT: 座標(x, y)を表すPOINT構造体 'pCommandTarget: オブジェクトの動作 'HTMLTagElement: 対象のHTMLエレメント End Sub 'Implementsした為、他のメソッドについても、プロシージャ実装が必要になります。 '適宜、必要な処理を記述していって下さい。 Private Sub IDocHostUIHandler_EnableModeless(ByVal fEnable As olelib.BOOL) End Sub Private Function IDocHostUIHandler_FilterDataObject(ByVal pDO As olelib.IDataObject) As olelib.IDataObject End Function Private Function IDocHostUIHandler_GetDropTarget(ByVal pDropTarget As olelib.IDropTarget) As olelib.IDropTarget End Function Private Function IDocHostUIHandler_GetExternal() As Object End Function Private Sub IDocHostUIHandler_GetHostInfo(pInfo As olelib.DOCHOSTUIINFO) End Sub Private Sub IDocHostUIHandler_GetOptionKeyPath(pOLESTRchKey As Long, ByVal dw As Long) End Sub Private Sub IDocHostUIHandler_HideUI() End Sub Private Sub IDocHostUIHandler_OnDocWindowActivate(ByVal fActivate As olelib.BOOL) End Sub Private Sub IDocHostUIHandler_OnFrameWindowActivate(ByVal fActivate As olelib.BOOL) End Sub Private Sub IDocHostUIHandler_ResizeBorder(prcBorder As olelib.RECT, ByVal pUIWindow As olelib.IOleInPlaceUIWindow, ByVal fRameWindow As olelib.BOOL) End Sub Private Sub IDocHostUIHandler_ShowUI(ByVal dwID As Long, ByVal pActiveObject As olelib.IOleInPlaceActiveObject, ByVal pCommandTarget As olelib.IOleCommandTarget, ByVal pFrame As olelib.IOleInPlaceFrame, ByVal pDoc As olelib.IOleInPlaceUIWindow) End Sub Private Sub IDocHostUIHandler_TranslateAccelerator(lpmsg As olelib.MSG, pguidCmdGroup As olelib.UUID, ByVal nCmdID As Long) End Sub Private Function IDocHostUIHandler_TranslateUrl(ByVal dwTranslate As Long, ByVal pchURLIn As Long) As Long End Function Private Sub IDocHostUIHandler_UpdateUI() End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.