Delphi-PRAXiS

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 TWebBrowser soll kein Popup Menü zeigen (https://www.delphipraxis.net/38690-twebbrowser-soll-kein-popup-menue-zeigen.html)

Äfan 22. Jan 2005 23:05


TWebBrowser soll kein Popup Menü zeigen
 
Hi,

Wenn der TWebBrowser eine Seite geladen hat und man dort rechte maustaste klickt, geht ja ein Popup Fenster auf. Wie kann ich es machen, dass beim rechten mausklick kein popup kommt ?

MFG

toms 23. Jan 2005 08:57

Re: TWebBrowser soll kein Popup Menü zeigen
 
Hi,

Schon Gegoogelt?

SirThornberry 23. Jan 2005 10:03

Re: TWebBrowser soll kein Popup Menü zeigen
 
du könntest in den Seitenquelltexte einfach im Bodytag 'onContextmenu="return false"' hinzufügen. Ansonsten einfach mit einen localen Hook die Maustaste verwerfen.

Äfan 23. Jan 2005 16:39

Re: TWebBrowser soll kein Popup Menü zeigen
 
@SirThornberry: Kannste mir mal die zeigen wo des hingehört ? Also ich mach da was falsch.

mfg

toms 24. Jan 2005 05:51

Re: TWebBrowser soll kein Popup Menü zeigen
 
Delphi-Quellcode:
var
  Form1: TForm1;
  HookID: THandle;

implementation

{$R *.DFM}


function MouseProc(nCode: Integer; wParam, lParam: Longint): Longint; stdcall;
var
  szClassName: array[0..255] of Char;
  MausPos: TPoint;
  X, Y: Integer;
const
  ie_name = 'Internet Explorer_Server';
begin
  GetCursorPos(MausPos);
  x := MausPos.x;
  y := MausPos.y;

  case nCode < 0 of
    True:
      Result := CallNextHookEx(HookID, nCode, wParam, lParam)
      else
        case wParam of
          WM_RBUTTONDOWN,
          WM_RBUTTONUP:
            begin
              GetClassName(PMOUSEHOOKSTRUCT(lParam)^.HWND, szClassName,
                SizeOf(szClassName));
              if lstrcmp(@szClassName[0], @ie_name[1]) = 0 then
              begin
                Result := HC_SKIP;
                Form1.popupmenu1.popup(X, Y);
              end
              else
                Result := CallNextHookEx(HookID, nCode, wParam, lParam);
            end
            else
              Result := CallNextHookEx(HookID, nCode, wParam, lParam);
        end;
  end;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
  HookID := SetWindowsHookEx(WH_MOUSE, MouseProc, 0, GetCurrentThreadId());
  Webbrowser1.Navigate('http://www.google.com');
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  if HookID <> 0 then
    UnHookWindowsHookEx(HookID);
end;

Äfan 24. Jan 2005 13:59

Re: TWebBrowser soll kein Popup Menü zeigen
 
Danke, nur Ich will kein eigenes menü, sondern nur das des TWebBrowsers nicht zeigen lassen.

@Sir: Wie meintest du das ? Meinste über das HTML Dokument abschalten ? Wenn ja, wie geht das ?

mfg

toms 24. Jan 2005 14:30

Re: TWebBrowser soll kein Popup Menü zeigen
 
Zitat:

Zitat von Äfan
Danke, nur Ich will kein eigenes menü, sondern nur das des TWebBrowsers nicht zeigen lassen.

Dann nimm nur diese Zeile raus:
Delphi-Quellcode:
Form1.popupmenu1.popup(X, Y);
*du selber denken koenntest*

Äfan 24. Jan 2005 15:19

Re: TWebBrowser soll kein Popup Menü zeigen
 
OK Danke !

*ich nix gesehen habe :stupid: *

mfg

Tom4321 8. Mär 2007 12:09

Re: TWebBrowser soll kein Popup Menü zeigen
 
Ich habe noch ein kleines Problem mit der Umsetzung des PopUps wie im Beispiel oben beschrieben.

Ich würde gerne in den TWebbrowser über ein eigenes PopUpMenu reinkopieren. Aber dabei habe ich gleich mehrere Probleme:

1. Ich will an die aktuelle Stelle des Cursors etwas einfügen, d.H. via Webrowser1.OleObject.document.forms.item(0).elemen ts.item('name').value geht das nicht. Wie kann ich das einfach etwas pasten?!

2. Durch den rechten Klick und das enstehende PopUp wird ja nicht automatisch das darunter liegende Inputfeld im TWebbrowser focusiert wie könnte man das machen?

Jemand eine Ahnung?!?!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:31 Uhr.

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