Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Eigenes Kontextmenü beim Webbrowser (https://www.delphipraxis.net/19488-eigenes-kontextmenue-beim-webbrowser.html)

lorenz 16. Feb 2005 15:55

Re: Eigenes Kontextmenü beim Webbrowser
 
Hallo Benjin,
super, dass du noch geantwortet hast, ich hatte mich für diesen Teil meines Projekts schon mit einer für mich recht schlechten Lösung (Popupmenü auf der Statusleiste) abgefunden und kann es so doch noch richtig lösen. :hello:
Danke!
Lorenz

himitsu 16. Feb 2005 16:14

Re: Eigenes Kontextmenü beim Webbrowser
 
Ach, sowas gibt es auch ...

Also ich hatte auch mal dieses Problemchen und hatte mir dann über JavaScript den RechtsClick deaktiviert und darüber dann auch mein Menü anzeigen lassen.

So ging es auch, nur durfte dabei der Benutzer nicht das JavaScript global deaktiviert haben :wall:

Benjin 16. Feb 2005 16:23

Re: Eigenes Kontextmenü beim Webbrowser
 
Sieht auf den ersten Blick sehr kompliziert aus, ist es auch... :-D

Aber ist sehr einfach zu implementieren und funktioniert super.

Und außerdem gehts ja da generell um "customizable twebbrowser" und nicht nur ums Kontextmenu.
Ist v.a. auch nützlich wenns um Designfragen im TWebBrwoser geht. Mit den Klassen von www.delphidabbler.com kann man auch gut mit CSS rumspielen.

Sind schon ziemlich nützlich diese Units.

toms 12. Mär 2005 18:48

Re: Eigenes Kontextmenü beim Webbrowser
 
Beim TEmbeddedWB geht's auch einfach so:

Delphi-Quellcode:
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;


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:33 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz