Einzelnen Beitrag anzeigen

Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#6

Re: Webbrowser Text markieren verhindern

  Alt 31. Mär 2005, 14:47
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 = 'Athen // evtl. auf weitere Tags ueberpreufen
            Exit;
        end;
      end;
      Handled := True;
    end;
  end;
end;
Thomas
  Mit Zitat antworten Zitat