Habe nun ein Beispiel gemacht. Damit wird verhindert, dass Code selektiert werden kann
und das Popupmenu erscheint auch nicht.
Delphi-Quellcode:
uses
MSHTML;
function GetElementAtPos(Doc: IHTMLDocument2; x, y: Integer): IHTMLElement;
begin
Result := nil;
Result := Doc.elementFromPoint(x, y);
end;
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
var Handled: Boolean);
var
MausPos: TPoint;
Element: IHTMLElement;
Doc: IHTMLDocument2;
begin
if (Msg.Message = WM_RBUTTONDOWN) or (Msg.Message = WM_LBUTTONDOWN) or
(Msg.Message = WM_RBUTTONDBLCLK) then
begin
if IsChild(Webbrowser1.Handle, Msg.hwnd) then
begin
Doc := Webbrowser1.Document as IHTMLDocument2;
if Assigned(doc) then
begin
GetCursorPos(MausPos);
mauspos := Webbrowser1.ScreenToClient(mauspos);
Element := GetElementAtPos(doc, MausPos.x, MausPos.y);
if Assigned(Element) then
begin
if element.tagName = 'A' then // evtl. auf weitere Tags ueberpreufen
Exit;
end;
end;
Handled := True;
end;
end;
end;