Mega Code Archive

 
Categories / Delphi / Examples
 

How to use your own TPopupMenu in TEmbeddedWB

Title: How to use your own TPopupMenu in TEmbeddedWB uses MSHTML_TLB; function TForm1.WebBrowser1ShowContextMenu(const dwID: Cardinal; const ppt: PPoint; const pcmdtReserved: IInterface; const pdispReserved: IDispatch): HRESULT; var myHTMLWindow2: IHTMLWindow2; oHTMLEvent: IHTMLEventObj; oHTMLDoc2: IHTMLDocument2; begin //next block gives access to the event object fired when the user //right-clicks inside the webBrowser control oHTMLDoc2 := EmbeddedWB1.Document as IHTMLDocument2; //interface to the displayed doc myHTMLWindow2 := oHTMLDoc2.parentWindow; //interface to the window that handles the events oHTMLEvent := myHTMLWindow2.event; //HERE is the event object if oHTMLEvent.ctrlKey = system.False then begin //if the Ctrl key is NOT pressed during right-click.. oHTMLEvent.returnValue := False; //...kills the default pop-up of IE Result := 0; //open my PopUp nemu at the absolute X and Y coordinates of the mouse PopupMenu1.Popup(Mouse.CursorPos.X, Mouse.CursorPos.Y); end; end; procedure TForm1.Button1Click(Sender: TObject); begin EmbeddedWB1.Navigate('www.swissdelphicenter.com'); end;