Einzelnen Beitrag anzeigen

Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Prozedur durch Bild-Klick in TWebBrowser aufrufen

  Alt 30. Nov 2006, 14:17
Hi Christian ... herzlich Willkommen in der DP!

Einen Anlaufpunkt im Netz findest du hier.

Um auf den Click auf eine Element zu regieren, brauchst du ein IDispatch. Zum Beipiel so eines. (ja, ein wenig ranzig ist es schon )
Delphi-Quellcode:
  TEventObject = class(TInterfacedObject, IDispatch)
    function GetTypeInfoCount(out Count: Integer): HResult; stdcall;
    function GetTypeInfo(Index, LocaleID: Integer; out TypeInfo): HResult; stdcall;
    function GetIDsOfNames(const IID: TGUID; Names: Pointer;
      NameCount, LocaleID: Integer; DispIDs: Pointer): HResult; stdcall;
    function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult; stdcall;
  end;

  //...

function TEventObject.GetIDsOfNames(const IID: TGUID; Names: Pointer; NameCount,
  LocaleID: Integer; DispIDs: Pointer): HResult;
begin
  Result:=E_NOTIMPL;
end;

function TEventObject.GetTypeInfo(Index, LocaleID: Integer;
  out TypeInfo): HResult;
begin
  Result:=E_NOTIMPL;
end;

function TEventObject.GetTypeInfoCount(out Count: Integer): HResult;
begin
  Result:=E_NOTIMPL;
end;

function TEventObject.Invoke(DispID: Integer; const IID: TGUID;
  LocaleID: Integer; Flags: Word; var Params; VarResult, ExcepInfo,
  ArgErr: Pointer): HResult;
begin
  //Hier kommt unser Event an
end;
Wenn du dann dein IHTMLElement (in deinem Fall dein Bild gefunden hast) kannst du in etwa so vorgehen:
Delphi-Quellcode:
var
  element : IHTMLElement;
  NewEvent : OleVariant;
begin
  NewEvent:=TEventObject.Create as IDispatch;
  element.onclick:=NewEvent;
end;
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat