{ *****************************************************************************
  WARNING: This component file was generated using the EventSinkImp utility.
           The contents of this file will be overwritten everytime EventSinkImp
           is asked to regenerate this sink component.

  NOTE:    When using this component at the same time with the XXX_TLB.pas in
           your Delphi projects, make sure you always put the XXX_TLB unit name
           AFTER this component unit name in the USES clause of the interface
           section of your unit; otherwise you may get interface conflict
           errors from the Delphi compiler.

           EventSinkImp is written by Binh Ly (bly@techvanguards.com)
  *****************************************************************************
  //Sink Classes//
  TMSHTMLHTMLElementEvents
  TMSHTMLHTMLElementEvents2
  TMSHTMLHTMLLinkElementEvents
  TMSHTMLHTMLLinkElementEvents2
  TMSHTMLHTMLFormElementEvents
  TMSHTMLHTMLFormElementEvents2
  TMSHTMLHTMLImgEvents
  TMSHTMLHTMLImgEvents2
  TMSHTMLHTMLTextContainerEvents
  TMSHTMLHTMLTextContainerEvents2
  TMSHTMLHTMLAnchorEvents
  TMSHTMLHTMLAnchorEvents2
  TMSHTMLHTMLLabelEvents
  TMSHTMLHTMLLabelEvents2
  TMSHTMLHTMLSelectElementEvents
  TMSHTMLHTMLSelectElementEvents2
  TMSHTMLHTMLInputTextElementEvents
  TMSHTMLHTMLInputTextElementEvents2
  TMSHTMLHTMLOptionButtonElementEvents
  TMSHTMLHTMLButtonElementEvents
  TMSHTMLHTMLButtonElementEvents2
  TMSHTMLHTMLMarqueeElementEvents
  TMSHTMLHTMLMarqueeElementEvents2
  TMSHTMLHTMLWindowEvents
  TMSHTMLHTMLWindowEvents2
  TMSHTMLHTMLDocumentEvents
  TMSHTMLHTMLDocumentEvents2
  TMSHTMLDWebBridgeEvents
  TMSHTMLHTMLControlElementEvents
  TMSHTMLHTMLControlElementEvents2
  TMSHTMLHTMLMapEvents
  TMSHTMLHTMLMapEvents2
  TMSHTMLHTMLAreaEvents
  TMSHTMLHTMLAreaEvents2
  TMSHTMLHTMLTableEvents
  TMSHTMLHTMLTableEvents2
  TMSHTMLHTMLScriptEvents
  TMSHTMLHTMLScriptEvents2
  TMSHTMLHTMLObjectElementEvents
  TMSHTMLHTMLObjectElementEvents2
  TMSHTMLHTMLFrameSiteEvents
  TMSHTMLHTMLFrameSiteEvents2
  TMSHTMLHTMLStyleElementEvents
  TMSHTMLHTMLStyleElementEvents2
  TMSHTMLHTMLNamespaceEvents
  TMSHTMLHTMLInputFileElementEvents
  TMSHTMLHTMLInputImageEvents
}

{$IFDEF VER100}
{$DEFINE D3}
{$ENDIF}

{$IFDEF CONDITIONALEXPRESSIONS}
{$WARN SYMBOL_PLATFORM OFF}
{$ENDIF}

//SinkUnitName//
unit MSHTMLEvents;

interface

uses
  Windows, ActiveX, Classes, ComObj, OleCtrls
  //SinkUses//
  , StdVCL
  , MSHTML_EWB
  ;

type
  { backward compatibility types }
{$IFDEF D3}
  OLE_COLOR = TOleColor;
{$ENDIF}

  TMSHTMLEventsBaseSink = class(TComponent, IUnknown, IDispatch)
  protected
    { IUnknown }
    function QueryInterface(const IID: TGUID; out Obj): HResult; {$IFNDEF D3} override; {$ENDIF} stdcall;
    function _AddRef: Integer; stdcall;
    function _Release: Integer; stdcall;

    { IDispatch }
    function GetIDsOfNames(const IID: TGUID; Names: Pointer;
      NameCount, LocaleID: Integer; DispIDs: Pointer): HResult; virtual; stdcall;
    function GetTypeInfo(Index, LocaleID: Integer; out TypeInfo): HResult; virtual; stdcall;
    function GetTypeInfoCount(out Count: Integer): HResult; virtual; stdcall;
    function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult; virtual; stdcall;
  protected
    FCookie: integer;
    FCP: IConnectionPoint;
    FSinkIID: TGUID;
    FSource: IUnknown;
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; virtual; abstract;
  public
    destructor Destroy; override;
    procedure Connect(const ASource: IUnknown);
    procedure Disconnect;
    property SinkIID: TGUID read FSinkIID write FSinkIID;
    property Source: IUnknown read FSource;
  end;

  //SinkImportsForwards//

  //SinkImports//

  //SinkIntfStart//

  //SinkEventsForwards//
  THTMLElementEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLElementEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLElementEventsonfocusoutEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLElementEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLElementEventsonhelpEvent;
    Fonclick: THTMLElementEventsonclickEvent;
    Fondblclick: THTMLElementEventsondblclickEvent;
    Fonkeypress: THTMLElementEventsonkeypressEvent;
    Fonkeydown: THTMLElementEventsonkeydownEvent;
    Fonkeyup: THTMLElementEventsonkeyupEvent;
    Fonmouseout: THTMLElementEventsonmouseoutEvent;
    Fonmouseover: THTMLElementEventsonmouseoverEvent;
    Fonmousemove: THTMLElementEventsonmousemoveEvent;
    Fonmousedown: THTMLElementEventsonmousedownEvent;
    Fonmouseup: THTMLElementEventsonmouseupEvent;
    Fonselectstart: THTMLElementEventsonselectstartEvent;
    Fonfilterchange: THTMLElementEventsonfilterchangeEvent;
    Fondragstart: THTMLElementEventsondragstartEvent;
    Fonbeforeupdate: THTMLElementEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLElementEventsonafterupdateEvent;
    Fonerrorupdate: THTMLElementEventsonerrorupdateEvent;
    Fonrowexit: THTMLElementEventsonrowexitEvent;
    Fonrowenter: THTMLElementEventsonrowenterEvent;
    Fondatasetchanged: THTMLElementEventsondatasetchangedEvent;
    Fondataavailable: THTMLElementEventsondataavailableEvent;
    Fondatasetcomplete: THTMLElementEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLElementEventsonlosecaptureEvent;
    Fonpropertychange: THTMLElementEventsonpropertychangeEvent;
    Fonscroll: THTMLElementEventsonscrollEvent;
    Fonfocus: THTMLElementEventsonfocusEvent;
    Fonblur: THTMLElementEventsonblurEvent;
    Fonresize: THTMLElementEventsonresizeEvent;
    Fondrag: THTMLElementEventsondragEvent;
    Fondragend: THTMLElementEventsondragendEvent;
    Fondragenter: THTMLElementEventsondragenterEvent;
    Fondragover: THTMLElementEventsondragoverEvent;
    Fondragleave: THTMLElementEventsondragleaveEvent;
    Fondrop: THTMLElementEventsondropEvent;
    Fonbeforecut: THTMLElementEventsonbeforecutEvent;
    Foncut: THTMLElementEventsoncutEvent;
    Fonbeforecopy: THTMLElementEventsonbeforecopyEvent;
    Foncopy: THTMLElementEventsoncopyEvent;
    Fonbeforepaste: THTMLElementEventsonbeforepasteEvent;
    Fonpaste: THTMLElementEventsonpasteEvent;
    Foncontextmenu: THTMLElementEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLElementEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLElementEventsonrowsinsertedEvent;
    Foncellchange: THTMLElementEventsoncellchangeEvent;
    Fonreadystatechange: THTMLElementEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLElementEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLElementEventsonlayoutcompleteEvent;
    Fonpage: THTMLElementEventsonpageEvent;
    Fonbeforedeactivate: THTMLElementEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLElementEventsonbeforeactivateEvent;
    Fonmove: THTMLElementEventsonmoveEvent;
    Foncontrolselect: THTMLElementEventsoncontrolselectEvent;
    Fonmovestart: THTMLElementEventsonmovestartEvent;
    Fonmoveend: THTMLElementEventsonmoveendEvent;
    Fonresizestart: THTMLElementEventsonresizestartEvent;
    Fonresizeend: THTMLElementEventsonresizeendEvent;
    Fonmouseenter: THTMLElementEventsonmouseenterEvent;
    Fonmouseleave: THTMLElementEventsonmouseleaveEvent;
    Fonmousewheel: THTMLElementEventsonmousewheelEvent;
    Fonactivate: THTMLElementEventsonactivateEvent;
    Fondeactivate: THTMLElementEventsondeactivateEvent;
    Fonfocusin: THTMLElementEventsonfocusinEvent;
    Fonfocusout: THTMLElementEventsonfocusoutEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLElementEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLElementEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLElementEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLElementEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLElementEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLElementEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLElementEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLElementEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLElementEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLElementEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLElementEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLElementEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLElementEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLElementEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLElementEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLElementEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLElementEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLElementEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLElementEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLElementEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLElementEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLElementEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLElementEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLElementEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLElementEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLElementEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLElementEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLElementEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLElementEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLElementEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLElementEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLElementEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLElementEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLElementEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLElementEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLElementEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLElementEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLElementEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLElementEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLElementEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLElementEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLElementEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLElementEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLElementEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLElementEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLElementEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLElementEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLElementEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLElementEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLElementEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLElementEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLElementEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLElementEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLElementEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLElementEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLElementEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLElementEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLElementEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLElementEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLElementEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLElementEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLElementEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLElementEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
  end;


  //SinkEventsForwards//
  THTMLElementEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLElementEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLElementEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;

  //SinkComponent//
  TMSHTMLHTMLElementEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLElementEvents2onhelpEvent;
    Fonclick: THTMLElementEvents2onclickEvent;
    Fondblclick: THTMLElementEvents2ondblclickEvent;
    Fonkeypress: THTMLElementEvents2onkeypressEvent;
    Fonkeydown: THTMLElementEvents2onkeydownEvent;
    Fonkeyup: THTMLElementEvents2onkeyupEvent;
    Fonmouseout: THTMLElementEvents2onmouseoutEvent;
    Fonmouseover: THTMLElementEvents2onmouseoverEvent;
    Fonmousemove: THTMLElementEvents2onmousemoveEvent;
    Fonmousedown: THTMLElementEvents2onmousedownEvent;
    Fonmouseup: THTMLElementEvents2onmouseupEvent;
    Fonselectstart: THTMLElementEvents2onselectstartEvent;
    Fonfilterchange: THTMLElementEvents2onfilterchangeEvent;
    Fondragstart: THTMLElementEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLElementEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLElementEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLElementEvents2onerrorupdateEvent;
    Fonrowexit: THTMLElementEvents2onrowexitEvent;
    Fonrowenter: THTMLElementEvents2onrowenterEvent;
    Fondatasetchanged: THTMLElementEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLElementEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLElementEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLElementEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLElementEvents2onpropertychangeEvent;
    Fonscroll: THTMLElementEvents2onscrollEvent;
    Fonfocus: THTMLElementEvents2onfocusEvent;
    Fonblur: THTMLElementEvents2onblurEvent;
    Fonresize: THTMLElementEvents2onresizeEvent;
    Fondrag: THTMLElementEvents2ondragEvent;
    Fondragend: THTMLElementEvents2ondragendEvent;
    Fondragenter: THTMLElementEvents2ondragenterEvent;
    Fondragover: THTMLElementEvents2ondragoverEvent;
    Fondragleave: THTMLElementEvents2ondragleaveEvent;
    Fondrop: THTMLElementEvents2ondropEvent;
    Fonbeforecut: THTMLElementEvents2onbeforecutEvent;
    Foncut: THTMLElementEvents2oncutEvent;
    Fonbeforecopy: THTMLElementEvents2onbeforecopyEvent;
    Foncopy: THTMLElementEvents2oncopyEvent;
    Fonbeforepaste: THTMLElementEvents2onbeforepasteEvent;
    Fonpaste: THTMLElementEvents2onpasteEvent;
    Foncontextmenu: THTMLElementEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLElementEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLElementEvents2onrowsinsertedEvent;
    Foncellchange: THTMLElementEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLElementEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLElementEvents2onlayoutcompleteEvent;
    Fonpage: THTMLElementEvents2onpageEvent;
    Fonmouseenter: THTMLElementEvents2onmouseenterEvent;
    Fonmouseleave: THTMLElementEvents2onmouseleaveEvent;
    Fonactivate: THTMLElementEvents2onactivateEvent;
    Fondeactivate: THTMLElementEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLElementEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLElementEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLElementEvents2onfocusinEvent;
    Fonfocusout: THTMLElementEvents2onfocusoutEvent;
    Fonmove: THTMLElementEvents2onmoveEvent;
    Foncontrolselect: THTMLElementEvents2oncontrolselectEvent;
    Fonmovestart: THTMLElementEvents2onmovestartEvent;
    Fonmoveend: THTMLElementEvents2onmoveendEvent;
    Fonresizestart: THTMLElementEvents2onresizestartEvent;
    Fonresizeend: THTMLElementEvents2onresizeendEvent;
    Fonmousewheel: THTMLElementEvents2onmousewheelEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLElementEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLElementEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLElementEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLElementEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLElementEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLElementEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLElementEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLElementEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLElementEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLElementEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLElementEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLElementEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLElementEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLElementEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLElementEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLElementEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLElementEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLElementEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLElementEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLElementEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLElementEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLElementEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLElementEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLElementEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLElementEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLElementEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLElementEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLElementEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLElementEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLElementEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLElementEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLElementEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLElementEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLElementEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLElementEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLElementEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLElementEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLElementEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLElementEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLElementEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLElementEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLElementEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLElementEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLElementEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLElementEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLElementEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLElementEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLElementEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLElementEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLElementEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLElementEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLElementEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLElementEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLElementEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLElementEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLElementEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLElementEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLElementEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLElementEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLElementEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLElementEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLElementEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
  end;


  //SinkEventsForwards//
  THTMLLinkElementEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLLinkElementEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonloadEvent = procedure(Sender: TObject) of object;
  THTMLLinkElementEventsonerrorEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLLinkElementEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    procedure Doonload; safecall;
    procedure Doonerror; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLLinkElementEventsonhelpEvent;
    Fonclick: THTMLLinkElementEventsonclickEvent;
    Fondblclick: THTMLLinkElementEventsondblclickEvent;
    Fonkeypress: THTMLLinkElementEventsonkeypressEvent;
    Fonkeydown: THTMLLinkElementEventsonkeydownEvent;
    Fonkeyup: THTMLLinkElementEventsonkeyupEvent;
    Fonmouseout: THTMLLinkElementEventsonmouseoutEvent;
    Fonmouseover: THTMLLinkElementEventsonmouseoverEvent;
    Fonmousemove: THTMLLinkElementEventsonmousemoveEvent;
    Fonmousedown: THTMLLinkElementEventsonmousedownEvent;
    Fonmouseup: THTMLLinkElementEventsonmouseupEvent;
    Fonselectstart: THTMLLinkElementEventsonselectstartEvent;
    Fonfilterchange: THTMLLinkElementEventsonfilterchangeEvent;
    Fondragstart: THTMLLinkElementEventsondragstartEvent;
    Fonbeforeupdate: THTMLLinkElementEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLLinkElementEventsonafterupdateEvent;
    Fonerrorupdate: THTMLLinkElementEventsonerrorupdateEvent;
    Fonrowexit: THTMLLinkElementEventsonrowexitEvent;
    Fonrowenter: THTMLLinkElementEventsonrowenterEvent;
    Fondatasetchanged: THTMLLinkElementEventsondatasetchangedEvent;
    Fondataavailable: THTMLLinkElementEventsondataavailableEvent;
    Fondatasetcomplete: THTMLLinkElementEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLLinkElementEventsonlosecaptureEvent;
    Fonpropertychange: THTMLLinkElementEventsonpropertychangeEvent;
    Fonscroll: THTMLLinkElementEventsonscrollEvent;
    Fonfocus: THTMLLinkElementEventsonfocusEvent;
    Fonblur: THTMLLinkElementEventsonblurEvent;
    Fonresize: THTMLLinkElementEventsonresizeEvent;
    Fondrag: THTMLLinkElementEventsondragEvent;
    Fondragend: THTMLLinkElementEventsondragendEvent;
    Fondragenter: THTMLLinkElementEventsondragenterEvent;
    Fondragover: THTMLLinkElementEventsondragoverEvent;
    Fondragleave: THTMLLinkElementEventsondragleaveEvent;
    Fondrop: THTMLLinkElementEventsondropEvent;
    Fonbeforecut: THTMLLinkElementEventsonbeforecutEvent;
    Foncut: THTMLLinkElementEventsoncutEvent;
    Fonbeforecopy: THTMLLinkElementEventsonbeforecopyEvent;
    Foncopy: THTMLLinkElementEventsoncopyEvent;
    Fonbeforepaste: THTMLLinkElementEventsonbeforepasteEvent;
    Fonpaste: THTMLLinkElementEventsonpasteEvent;
    Foncontextmenu: THTMLLinkElementEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLLinkElementEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLLinkElementEventsonrowsinsertedEvent;
    Foncellchange: THTMLLinkElementEventsoncellchangeEvent;
    Fonreadystatechange: THTMLLinkElementEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLLinkElementEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLLinkElementEventsonlayoutcompleteEvent;
    Fonpage: THTMLLinkElementEventsonpageEvent;
    Fonbeforedeactivate: THTMLLinkElementEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLLinkElementEventsonbeforeactivateEvent;
    Fonmove: THTMLLinkElementEventsonmoveEvent;
    Foncontrolselect: THTMLLinkElementEventsoncontrolselectEvent;
    Fonmovestart: THTMLLinkElementEventsonmovestartEvent;
    Fonmoveend: THTMLLinkElementEventsonmoveendEvent;
    Fonresizestart: THTMLLinkElementEventsonresizestartEvent;
    Fonresizeend: THTMLLinkElementEventsonresizeendEvent;
    Fonmouseenter: THTMLLinkElementEventsonmouseenterEvent;
    Fonmouseleave: THTMLLinkElementEventsonmouseleaveEvent;
    Fonmousewheel: THTMLLinkElementEventsonmousewheelEvent;
    Fonactivate: THTMLLinkElementEventsonactivateEvent;
    Fondeactivate: THTMLLinkElementEventsondeactivateEvent;
    Fonfocusin: THTMLLinkElementEventsonfocusinEvent;
    Fonfocusout: THTMLLinkElementEventsonfocusoutEvent;
    Fonload: THTMLLinkElementEventsonloadEvent;
    Fonerror: THTMLLinkElementEventsonerrorEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLLinkElementEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLLinkElementEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLLinkElementEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLLinkElementEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLLinkElementEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLLinkElementEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLLinkElementEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLLinkElementEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLLinkElementEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLLinkElementEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLLinkElementEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLLinkElementEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLLinkElementEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLLinkElementEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLLinkElementEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLLinkElementEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLLinkElementEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLLinkElementEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLLinkElementEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLLinkElementEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLLinkElementEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLLinkElementEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLLinkElementEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLLinkElementEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLLinkElementEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLLinkElementEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLLinkElementEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLLinkElementEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLLinkElementEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLLinkElementEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLLinkElementEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLLinkElementEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLLinkElementEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLLinkElementEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLLinkElementEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLLinkElementEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLLinkElementEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLLinkElementEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLLinkElementEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLLinkElementEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLLinkElementEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLLinkElementEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLLinkElementEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLLinkElementEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLLinkElementEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLLinkElementEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLLinkElementEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLLinkElementEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLLinkElementEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLLinkElementEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLLinkElementEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLLinkElementEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLLinkElementEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLLinkElementEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLLinkElementEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLLinkElementEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLLinkElementEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLLinkElementEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLLinkElementEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLLinkElementEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLLinkElementEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLLinkElementEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLLinkElementEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onload: THTMLLinkElementEventsonloadEvent read Fonload write Fonload;
    property onerror: THTMLLinkElementEventsonerrorEvent read Fonerror write Fonerror;
  end;


  //SinkEventsForwards//
  THTMLLinkElementEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLinkElementEvents2onloadEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLinkElementEvents2onerrorEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;

  //SinkComponent//
  TMSHTMLHTMLLinkElementEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonload(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonerror(const pEvtObj: IHTMLEventObj); safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLLinkElementEvents2onhelpEvent;
    Fonclick: THTMLLinkElementEvents2onclickEvent;
    Fondblclick: THTMLLinkElementEvents2ondblclickEvent;
    Fonkeypress: THTMLLinkElementEvents2onkeypressEvent;
    Fonkeydown: THTMLLinkElementEvents2onkeydownEvent;
    Fonkeyup: THTMLLinkElementEvents2onkeyupEvent;
    Fonmouseout: THTMLLinkElementEvents2onmouseoutEvent;
    Fonmouseover: THTMLLinkElementEvents2onmouseoverEvent;
    Fonmousemove: THTMLLinkElementEvents2onmousemoveEvent;
    Fonmousedown: THTMLLinkElementEvents2onmousedownEvent;
    Fonmouseup: THTMLLinkElementEvents2onmouseupEvent;
    Fonselectstart: THTMLLinkElementEvents2onselectstartEvent;
    Fonfilterchange: THTMLLinkElementEvents2onfilterchangeEvent;
    Fondragstart: THTMLLinkElementEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLLinkElementEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLLinkElementEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLLinkElementEvents2onerrorupdateEvent;
    Fonrowexit: THTMLLinkElementEvents2onrowexitEvent;
    Fonrowenter: THTMLLinkElementEvents2onrowenterEvent;
    Fondatasetchanged: THTMLLinkElementEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLLinkElementEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLLinkElementEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLLinkElementEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLLinkElementEvents2onpropertychangeEvent;
    Fonscroll: THTMLLinkElementEvents2onscrollEvent;
    Fonfocus: THTMLLinkElementEvents2onfocusEvent;
    Fonblur: THTMLLinkElementEvents2onblurEvent;
    Fonresize: THTMLLinkElementEvents2onresizeEvent;
    Fondrag: THTMLLinkElementEvents2ondragEvent;
    Fondragend: THTMLLinkElementEvents2ondragendEvent;
    Fondragenter: THTMLLinkElementEvents2ondragenterEvent;
    Fondragover: THTMLLinkElementEvents2ondragoverEvent;
    Fondragleave: THTMLLinkElementEvents2ondragleaveEvent;
    Fondrop: THTMLLinkElementEvents2ondropEvent;
    Fonbeforecut: THTMLLinkElementEvents2onbeforecutEvent;
    Foncut: THTMLLinkElementEvents2oncutEvent;
    Fonbeforecopy: THTMLLinkElementEvents2onbeforecopyEvent;
    Foncopy: THTMLLinkElementEvents2oncopyEvent;
    Fonbeforepaste: THTMLLinkElementEvents2onbeforepasteEvent;
    Fonpaste: THTMLLinkElementEvents2onpasteEvent;
    Foncontextmenu: THTMLLinkElementEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLLinkElementEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLLinkElementEvents2onrowsinsertedEvent;
    Foncellchange: THTMLLinkElementEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLLinkElementEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLLinkElementEvents2onlayoutcompleteEvent;
    Fonpage: THTMLLinkElementEvents2onpageEvent;
    Fonmouseenter: THTMLLinkElementEvents2onmouseenterEvent;
    Fonmouseleave: THTMLLinkElementEvents2onmouseleaveEvent;
    Fonactivate: THTMLLinkElementEvents2onactivateEvent;
    Fondeactivate: THTMLLinkElementEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLLinkElementEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLLinkElementEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLLinkElementEvents2onfocusinEvent;
    Fonfocusout: THTMLLinkElementEvents2onfocusoutEvent;
    Fonmove: THTMLLinkElementEvents2onmoveEvent;
    Foncontrolselect: THTMLLinkElementEvents2oncontrolselectEvent;
    Fonmovestart: THTMLLinkElementEvents2onmovestartEvent;
    Fonmoveend: THTMLLinkElementEvents2onmoveendEvent;
    Fonresizestart: THTMLLinkElementEvents2onresizestartEvent;
    Fonresizeend: THTMLLinkElementEvents2onresizeendEvent;
    Fonmousewheel: THTMLLinkElementEvents2onmousewheelEvent;
    Fonload: THTMLLinkElementEvents2onloadEvent;
    Fonerror: THTMLLinkElementEvents2onerrorEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLLinkElementEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLLinkElementEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLLinkElementEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLLinkElementEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLLinkElementEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLLinkElementEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLLinkElementEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLLinkElementEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLLinkElementEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLLinkElementEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLLinkElementEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLLinkElementEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLLinkElementEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLLinkElementEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLLinkElementEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLLinkElementEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLLinkElementEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLLinkElementEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLLinkElementEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLLinkElementEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLLinkElementEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLLinkElementEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLLinkElementEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLLinkElementEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLLinkElementEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLLinkElementEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLLinkElementEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLLinkElementEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLLinkElementEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLLinkElementEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLLinkElementEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLLinkElementEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLLinkElementEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLLinkElementEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLLinkElementEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLLinkElementEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLLinkElementEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLLinkElementEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLLinkElementEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLLinkElementEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLLinkElementEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLLinkElementEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLLinkElementEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLLinkElementEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLLinkElementEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLLinkElementEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLLinkElementEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLLinkElementEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLLinkElementEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLLinkElementEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLLinkElementEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLLinkElementEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLLinkElementEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLLinkElementEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLLinkElementEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLLinkElementEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLLinkElementEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLLinkElementEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLLinkElementEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLLinkElementEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLLinkElementEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLLinkElementEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onload: THTMLLinkElementEvents2onloadEvent read Fonload write Fonload;
    property onerror: THTMLLinkElementEvents2onerrorEvent read Fonerror write Fonerror;
  end;


  //SinkEventsForwards//
  THTMLFormElementEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLFormElementEventsonsubmitEvent = function(Sender: TObject): WordBool of object;
  THTMLFormElementEventsonresetEvent = function(Sender: TObject): WordBool of object;

  //SinkComponent//
  TMSHTMLHTMLFormElementEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    function Doonsubmit: WordBool; safecall;
    function Doonreset: WordBool; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLFormElementEventsonhelpEvent;
    Fonclick: THTMLFormElementEventsonclickEvent;
    Fondblclick: THTMLFormElementEventsondblclickEvent;
    Fonkeypress: THTMLFormElementEventsonkeypressEvent;
    Fonkeydown: THTMLFormElementEventsonkeydownEvent;
    Fonkeyup: THTMLFormElementEventsonkeyupEvent;
    Fonmouseout: THTMLFormElementEventsonmouseoutEvent;
    Fonmouseover: THTMLFormElementEventsonmouseoverEvent;
    Fonmousemove: THTMLFormElementEventsonmousemoveEvent;
    Fonmousedown: THTMLFormElementEventsonmousedownEvent;
    Fonmouseup: THTMLFormElementEventsonmouseupEvent;
    Fonselectstart: THTMLFormElementEventsonselectstartEvent;
    Fonfilterchange: THTMLFormElementEventsonfilterchangeEvent;
    Fondragstart: THTMLFormElementEventsondragstartEvent;
    Fonbeforeupdate: THTMLFormElementEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLFormElementEventsonafterupdateEvent;
    Fonerrorupdate: THTMLFormElementEventsonerrorupdateEvent;
    Fonrowexit: THTMLFormElementEventsonrowexitEvent;
    Fonrowenter: THTMLFormElementEventsonrowenterEvent;
    Fondatasetchanged: THTMLFormElementEventsondatasetchangedEvent;
    Fondataavailable: THTMLFormElementEventsondataavailableEvent;
    Fondatasetcomplete: THTMLFormElementEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLFormElementEventsonlosecaptureEvent;
    Fonpropertychange: THTMLFormElementEventsonpropertychangeEvent;
    Fonscroll: THTMLFormElementEventsonscrollEvent;
    Fonfocus: THTMLFormElementEventsonfocusEvent;
    Fonblur: THTMLFormElementEventsonblurEvent;
    Fonresize: THTMLFormElementEventsonresizeEvent;
    Fondrag: THTMLFormElementEventsondragEvent;
    Fondragend: THTMLFormElementEventsondragendEvent;
    Fondragenter: THTMLFormElementEventsondragenterEvent;
    Fondragover: THTMLFormElementEventsondragoverEvent;
    Fondragleave: THTMLFormElementEventsondragleaveEvent;
    Fondrop: THTMLFormElementEventsondropEvent;
    Fonbeforecut: THTMLFormElementEventsonbeforecutEvent;
    Foncut: THTMLFormElementEventsoncutEvent;
    Fonbeforecopy: THTMLFormElementEventsonbeforecopyEvent;
    Foncopy: THTMLFormElementEventsoncopyEvent;
    Fonbeforepaste: THTMLFormElementEventsonbeforepasteEvent;
    Fonpaste: THTMLFormElementEventsonpasteEvent;
    Foncontextmenu: THTMLFormElementEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLFormElementEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLFormElementEventsonrowsinsertedEvent;
    Foncellchange: THTMLFormElementEventsoncellchangeEvent;
    Fonreadystatechange: THTMLFormElementEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLFormElementEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLFormElementEventsonlayoutcompleteEvent;
    Fonpage: THTMLFormElementEventsonpageEvent;
    Fonbeforedeactivate: THTMLFormElementEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLFormElementEventsonbeforeactivateEvent;
    Fonmove: THTMLFormElementEventsonmoveEvent;
    Foncontrolselect: THTMLFormElementEventsoncontrolselectEvent;
    Fonmovestart: THTMLFormElementEventsonmovestartEvent;
    Fonmoveend: THTMLFormElementEventsonmoveendEvent;
    Fonresizestart: THTMLFormElementEventsonresizestartEvent;
    Fonresizeend: THTMLFormElementEventsonresizeendEvent;
    Fonmouseenter: THTMLFormElementEventsonmouseenterEvent;
    Fonmouseleave: THTMLFormElementEventsonmouseleaveEvent;
    Fonmousewheel: THTMLFormElementEventsonmousewheelEvent;
    Fonactivate: THTMLFormElementEventsonactivateEvent;
    Fondeactivate: THTMLFormElementEventsondeactivateEvent;
    Fonfocusin: THTMLFormElementEventsonfocusinEvent;
    Fonfocusout: THTMLFormElementEventsonfocusoutEvent;
    Fonsubmit: THTMLFormElementEventsonsubmitEvent;
    Fonreset: THTMLFormElementEventsonresetEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLFormElementEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLFormElementEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLFormElementEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLFormElementEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLFormElementEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLFormElementEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLFormElementEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLFormElementEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLFormElementEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLFormElementEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLFormElementEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLFormElementEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLFormElementEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLFormElementEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLFormElementEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLFormElementEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLFormElementEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLFormElementEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLFormElementEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLFormElementEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLFormElementEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLFormElementEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLFormElementEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLFormElementEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLFormElementEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLFormElementEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLFormElementEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLFormElementEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLFormElementEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLFormElementEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLFormElementEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLFormElementEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLFormElementEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLFormElementEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLFormElementEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLFormElementEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLFormElementEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLFormElementEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLFormElementEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLFormElementEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLFormElementEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLFormElementEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLFormElementEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLFormElementEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLFormElementEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLFormElementEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLFormElementEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLFormElementEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLFormElementEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLFormElementEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLFormElementEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLFormElementEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLFormElementEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLFormElementEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLFormElementEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLFormElementEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLFormElementEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLFormElementEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLFormElementEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLFormElementEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLFormElementEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLFormElementEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLFormElementEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onsubmit: THTMLFormElementEventsonsubmitEvent read Fonsubmit write Fonsubmit;
    property onreset: THTMLFormElementEventsonresetEvent read Fonreset write Fonreset;
  end;


  //SinkEventsForwards//
  THTMLFormElementEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFormElementEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onsubmitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFormElementEvents2onresetEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;

  //SinkComponent//
  TMSHTMLHTMLFormElementEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonsubmit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonreset(const pEvtObj: IHTMLEventObj): WordBool; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLFormElementEvents2onhelpEvent;
    Fonclick: THTMLFormElementEvents2onclickEvent;
    Fondblclick: THTMLFormElementEvents2ondblclickEvent;
    Fonkeypress: THTMLFormElementEvents2onkeypressEvent;
    Fonkeydown: THTMLFormElementEvents2onkeydownEvent;
    Fonkeyup: THTMLFormElementEvents2onkeyupEvent;
    Fonmouseout: THTMLFormElementEvents2onmouseoutEvent;
    Fonmouseover: THTMLFormElementEvents2onmouseoverEvent;
    Fonmousemove: THTMLFormElementEvents2onmousemoveEvent;
    Fonmousedown: THTMLFormElementEvents2onmousedownEvent;
    Fonmouseup: THTMLFormElementEvents2onmouseupEvent;
    Fonselectstart: THTMLFormElementEvents2onselectstartEvent;
    Fonfilterchange: THTMLFormElementEvents2onfilterchangeEvent;
    Fondragstart: THTMLFormElementEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLFormElementEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLFormElementEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLFormElementEvents2onerrorupdateEvent;
    Fonrowexit: THTMLFormElementEvents2onrowexitEvent;
    Fonrowenter: THTMLFormElementEvents2onrowenterEvent;
    Fondatasetchanged: THTMLFormElementEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLFormElementEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLFormElementEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLFormElementEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLFormElementEvents2onpropertychangeEvent;
    Fonscroll: THTMLFormElementEvents2onscrollEvent;
    Fonfocus: THTMLFormElementEvents2onfocusEvent;
    Fonblur: THTMLFormElementEvents2onblurEvent;
    Fonresize: THTMLFormElementEvents2onresizeEvent;
    Fondrag: THTMLFormElementEvents2ondragEvent;
    Fondragend: THTMLFormElementEvents2ondragendEvent;
    Fondragenter: THTMLFormElementEvents2ondragenterEvent;
    Fondragover: THTMLFormElementEvents2ondragoverEvent;
    Fondragleave: THTMLFormElementEvents2ondragleaveEvent;
    Fondrop: THTMLFormElementEvents2ondropEvent;
    Fonbeforecut: THTMLFormElementEvents2onbeforecutEvent;
    Foncut: THTMLFormElementEvents2oncutEvent;
    Fonbeforecopy: THTMLFormElementEvents2onbeforecopyEvent;
    Foncopy: THTMLFormElementEvents2oncopyEvent;
    Fonbeforepaste: THTMLFormElementEvents2onbeforepasteEvent;
    Fonpaste: THTMLFormElementEvents2onpasteEvent;
    Foncontextmenu: THTMLFormElementEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLFormElementEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLFormElementEvents2onrowsinsertedEvent;
    Foncellchange: THTMLFormElementEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLFormElementEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLFormElementEvents2onlayoutcompleteEvent;
    Fonpage: THTMLFormElementEvents2onpageEvent;
    Fonmouseenter: THTMLFormElementEvents2onmouseenterEvent;
    Fonmouseleave: THTMLFormElementEvents2onmouseleaveEvent;
    Fonactivate: THTMLFormElementEvents2onactivateEvent;
    Fondeactivate: THTMLFormElementEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLFormElementEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLFormElementEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLFormElementEvents2onfocusinEvent;
    Fonfocusout: THTMLFormElementEvents2onfocusoutEvent;
    Fonmove: THTMLFormElementEvents2onmoveEvent;
    Foncontrolselect: THTMLFormElementEvents2oncontrolselectEvent;
    Fonmovestart: THTMLFormElementEvents2onmovestartEvent;
    Fonmoveend: THTMLFormElementEvents2onmoveendEvent;
    Fonresizestart: THTMLFormElementEvents2onresizestartEvent;
    Fonresizeend: THTMLFormElementEvents2onresizeendEvent;
    Fonmousewheel: THTMLFormElementEvents2onmousewheelEvent;
    Fonsubmit: THTMLFormElementEvents2onsubmitEvent;
    Fonreset: THTMLFormElementEvents2onresetEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLFormElementEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLFormElementEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLFormElementEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLFormElementEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLFormElementEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLFormElementEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLFormElementEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLFormElementEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLFormElementEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLFormElementEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLFormElementEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLFormElementEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLFormElementEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLFormElementEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLFormElementEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLFormElementEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLFormElementEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLFormElementEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLFormElementEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLFormElementEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLFormElementEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLFormElementEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLFormElementEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLFormElementEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLFormElementEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLFormElementEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLFormElementEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLFormElementEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLFormElementEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLFormElementEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLFormElementEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLFormElementEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLFormElementEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLFormElementEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLFormElementEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLFormElementEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLFormElementEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLFormElementEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLFormElementEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLFormElementEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLFormElementEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLFormElementEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLFormElementEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLFormElementEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLFormElementEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLFormElementEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLFormElementEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLFormElementEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLFormElementEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLFormElementEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLFormElementEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLFormElementEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLFormElementEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLFormElementEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLFormElementEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLFormElementEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLFormElementEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLFormElementEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLFormElementEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLFormElementEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLFormElementEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLFormElementEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onsubmit: THTMLFormElementEvents2onsubmitEvent read Fonsubmit write Fonsubmit;
    property onreset: THTMLFormElementEvents2onresetEvent read Fonreset write Fonreset;
  end;


  //SinkEventsForwards//
  THTMLImgEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLImgEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonloadEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonerrorEvent = procedure(Sender: TObject) of object;
  THTMLImgEventsonabortEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLImgEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    procedure Doonload; safecall;
    procedure Doonerror; safecall;
    procedure Doonabort; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLImgEventsonhelpEvent;
    Fonclick: THTMLImgEventsonclickEvent;
    Fondblclick: THTMLImgEventsondblclickEvent;
    Fonkeypress: THTMLImgEventsonkeypressEvent;
    Fonkeydown: THTMLImgEventsonkeydownEvent;
    Fonkeyup: THTMLImgEventsonkeyupEvent;
    Fonmouseout: THTMLImgEventsonmouseoutEvent;
    Fonmouseover: THTMLImgEventsonmouseoverEvent;
    Fonmousemove: THTMLImgEventsonmousemoveEvent;
    Fonmousedown: THTMLImgEventsonmousedownEvent;
    Fonmouseup: THTMLImgEventsonmouseupEvent;
    Fonselectstart: THTMLImgEventsonselectstartEvent;
    Fonfilterchange: THTMLImgEventsonfilterchangeEvent;
    Fondragstart: THTMLImgEventsondragstartEvent;
    Fonbeforeupdate: THTMLImgEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLImgEventsonafterupdateEvent;
    Fonerrorupdate: THTMLImgEventsonerrorupdateEvent;
    Fonrowexit: THTMLImgEventsonrowexitEvent;
    Fonrowenter: THTMLImgEventsonrowenterEvent;
    Fondatasetchanged: THTMLImgEventsondatasetchangedEvent;
    Fondataavailable: THTMLImgEventsondataavailableEvent;
    Fondatasetcomplete: THTMLImgEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLImgEventsonlosecaptureEvent;
    Fonpropertychange: THTMLImgEventsonpropertychangeEvent;
    Fonscroll: THTMLImgEventsonscrollEvent;
    Fonfocus: THTMLImgEventsonfocusEvent;
    Fonblur: THTMLImgEventsonblurEvent;
    Fonresize: THTMLImgEventsonresizeEvent;
    Fondrag: THTMLImgEventsondragEvent;
    Fondragend: THTMLImgEventsondragendEvent;
    Fondragenter: THTMLImgEventsondragenterEvent;
    Fondragover: THTMLImgEventsondragoverEvent;
    Fondragleave: THTMLImgEventsondragleaveEvent;
    Fondrop: THTMLImgEventsondropEvent;
    Fonbeforecut: THTMLImgEventsonbeforecutEvent;
    Foncut: THTMLImgEventsoncutEvent;
    Fonbeforecopy: THTMLImgEventsonbeforecopyEvent;
    Foncopy: THTMLImgEventsoncopyEvent;
    Fonbeforepaste: THTMLImgEventsonbeforepasteEvent;
    Fonpaste: THTMLImgEventsonpasteEvent;
    Foncontextmenu: THTMLImgEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLImgEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLImgEventsonrowsinsertedEvent;
    Foncellchange: THTMLImgEventsoncellchangeEvent;
    Fonreadystatechange: THTMLImgEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLImgEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLImgEventsonlayoutcompleteEvent;
    Fonpage: THTMLImgEventsonpageEvent;
    Fonbeforedeactivate: THTMLImgEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLImgEventsonbeforeactivateEvent;
    Fonmove: THTMLImgEventsonmoveEvent;
    Foncontrolselect: THTMLImgEventsoncontrolselectEvent;
    Fonmovestart: THTMLImgEventsonmovestartEvent;
    Fonmoveend: THTMLImgEventsonmoveendEvent;
    Fonresizestart: THTMLImgEventsonresizestartEvent;
    Fonresizeend: THTMLImgEventsonresizeendEvent;
    Fonmouseenter: THTMLImgEventsonmouseenterEvent;
    Fonmouseleave: THTMLImgEventsonmouseleaveEvent;
    Fonmousewheel: THTMLImgEventsonmousewheelEvent;
    Fonactivate: THTMLImgEventsonactivateEvent;
    Fondeactivate: THTMLImgEventsondeactivateEvent;
    Fonfocusin: THTMLImgEventsonfocusinEvent;
    Fonfocusout: THTMLImgEventsonfocusoutEvent;
    Fonload: THTMLImgEventsonloadEvent;
    Fonerror: THTMLImgEventsonerrorEvent;
    Fonabort: THTMLImgEventsonabortEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLImgEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLImgEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLImgEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLImgEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLImgEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLImgEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLImgEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLImgEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLImgEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLImgEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLImgEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLImgEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLImgEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLImgEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLImgEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLImgEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLImgEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLImgEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLImgEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLImgEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLImgEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLImgEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLImgEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLImgEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLImgEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLImgEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLImgEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLImgEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLImgEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLImgEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLImgEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLImgEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLImgEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLImgEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLImgEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLImgEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLImgEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLImgEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLImgEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLImgEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLImgEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLImgEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLImgEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLImgEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLImgEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLImgEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLImgEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLImgEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLImgEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLImgEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLImgEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLImgEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLImgEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLImgEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLImgEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLImgEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLImgEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLImgEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLImgEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLImgEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLImgEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLImgEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLImgEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onload: THTMLImgEventsonloadEvent read Fonload write Fonload;
    property onerror: THTMLImgEventsonerrorEvent read Fonerror write Fonerror;
    property onabort: THTMLImgEventsonabortEvent read Fonabort write Fonabort;
  end;


  //SinkEventsForwards//
  THTMLImgEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLImgEvents2onloadEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onerrorEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLImgEvents2onabortEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;

  //SinkComponent//
  TMSHTMLHTMLImgEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonload(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonerror(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonabort(const pEvtObj: IHTMLEventObj); safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLImgEvents2onhelpEvent;
    Fonclick: THTMLImgEvents2onclickEvent;
    Fondblclick: THTMLImgEvents2ondblclickEvent;
    Fonkeypress: THTMLImgEvents2onkeypressEvent;
    Fonkeydown: THTMLImgEvents2onkeydownEvent;
    Fonkeyup: THTMLImgEvents2onkeyupEvent;
    Fonmouseout: THTMLImgEvents2onmouseoutEvent;
    Fonmouseover: THTMLImgEvents2onmouseoverEvent;
    Fonmousemove: THTMLImgEvents2onmousemoveEvent;
    Fonmousedown: THTMLImgEvents2onmousedownEvent;
    Fonmouseup: THTMLImgEvents2onmouseupEvent;
    Fonselectstart: THTMLImgEvents2onselectstartEvent;
    Fonfilterchange: THTMLImgEvents2onfilterchangeEvent;
    Fondragstart: THTMLImgEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLImgEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLImgEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLImgEvents2onerrorupdateEvent;
    Fonrowexit: THTMLImgEvents2onrowexitEvent;
    Fonrowenter: THTMLImgEvents2onrowenterEvent;
    Fondatasetchanged: THTMLImgEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLImgEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLImgEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLImgEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLImgEvents2onpropertychangeEvent;
    Fonscroll: THTMLImgEvents2onscrollEvent;
    Fonfocus: THTMLImgEvents2onfocusEvent;
    Fonblur: THTMLImgEvents2onblurEvent;
    Fonresize: THTMLImgEvents2onresizeEvent;
    Fondrag: THTMLImgEvents2ondragEvent;
    Fondragend: THTMLImgEvents2ondragendEvent;
    Fondragenter: THTMLImgEvents2ondragenterEvent;
    Fondragover: THTMLImgEvents2ondragoverEvent;
    Fondragleave: THTMLImgEvents2ondragleaveEvent;
    Fondrop: THTMLImgEvents2ondropEvent;
    Fonbeforecut: THTMLImgEvents2onbeforecutEvent;
    Foncut: THTMLImgEvents2oncutEvent;
    Fonbeforecopy: THTMLImgEvents2onbeforecopyEvent;
    Foncopy: THTMLImgEvents2oncopyEvent;
    Fonbeforepaste: THTMLImgEvents2onbeforepasteEvent;
    Fonpaste: THTMLImgEvents2onpasteEvent;
    Foncontextmenu: THTMLImgEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLImgEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLImgEvents2onrowsinsertedEvent;
    Foncellchange: THTMLImgEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLImgEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLImgEvents2onlayoutcompleteEvent;
    Fonpage: THTMLImgEvents2onpageEvent;
    Fonmouseenter: THTMLImgEvents2onmouseenterEvent;
    Fonmouseleave: THTMLImgEvents2onmouseleaveEvent;
    Fonactivate: THTMLImgEvents2onactivateEvent;
    Fondeactivate: THTMLImgEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLImgEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLImgEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLImgEvents2onfocusinEvent;
    Fonfocusout: THTMLImgEvents2onfocusoutEvent;
    Fonmove: THTMLImgEvents2onmoveEvent;
    Foncontrolselect: THTMLImgEvents2oncontrolselectEvent;
    Fonmovestart: THTMLImgEvents2onmovestartEvent;
    Fonmoveend: THTMLImgEvents2onmoveendEvent;
    Fonresizestart: THTMLImgEvents2onresizestartEvent;
    Fonresizeend: THTMLImgEvents2onresizeendEvent;
    Fonmousewheel: THTMLImgEvents2onmousewheelEvent;
    Fonload: THTMLImgEvents2onloadEvent;
    Fonerror: THTMLImgEvents2onerrorEvent;
    Fonabort: THTMLImgEvents2onabortEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLImgEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLImgEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLImgEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLImgEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLImgEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLImgEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLImgEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLImgEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLImgEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLImgEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLImgEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLImgEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLImgEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLImgEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLImgEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLImgEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLImgEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLImgEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLImgEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLImgEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLImgEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLImgEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLImgEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLImgEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLImgEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLImgEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLImgEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLImgEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLImgEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLImgEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLImgEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLImgEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLImgEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLImgEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLImgEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLImgEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLImgEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLImgEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLImgEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLImgEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLImgEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLImgEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLImgEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLImgEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLImgEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLImgEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLImgEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLImgEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLImgEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLImgEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLImgEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLImgEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLImgEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLImgEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLImgEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLImgEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLImgEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLImgEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLImgEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLImgEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLImgEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLImgEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onload: THTMLImgEvents2onloadEvent read Fonload write Fonload;
    property onerror: THTMLImgEvents2onerrorEvent read Fonerror write Fonerror;
    property onabort: THTMLImgEvents2onabortEvent read Fonabort write Fonabort;
  end;


  //SinkEventsForwards//
  THTMLTextContainerEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLTextContainerEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonchangeEvent = procedure(Sender: TObject) of object;
  THTMLTextContainerEventsonselectEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLTextContainerEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    procedure Doonchange; safecall;
    procedure Doonselect; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLTextContainerEventsonhelpEvent;
    Fonclick: THTMLTextContainerEventsonclickEvent;
    Fondblclick: THTMLTextContainerEventsondblclickEvent;
    Fonkeypress: THTMLTextContainerEventsonkeypressEvent;
    Fonkeydown: THTMLTextContainerEventsonkeydownEvent;
    Fonkeyup: THTMLTextContainerEventsonkeyupEvent;
    Fonmouseout: THTMLTextContainerEventsonmouseoutEvent;
    Fonmouseover: THTMLTextContainerEventsonmouseoverEvent;
    Fonmousemove: THTMLTextContainerEventsonmousemoveEvent;
    Fonmousedown: THTMLTextContainerEventsonmousedownEvent;
    Fonmouseup: THTMLTextContainerEventsonmouseupEvent;
    Fonselectstart: THTMLTextContainerEventsonselectstartEvent;
    Fonfilterchange: THTMLTextContainerEventsonfilterchangeEvent;
    Fondragstart: THTMLTextContainerEventsondragstartEvent;
    Fonbeforeupdate: THTMLTextContainerEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLTextContainerEventsonafterupdateEvent;
    Fonerrorupdate: THTMLTextContainerEventsonerrorupdateEvent;
    Fonrowexit: THTMLTextContainerEventsonrowexitEvent;
    Fonrowenter: THTMLTextContainerEventsonrowenterEvent;
    Fondatasetchanged: THTMLTextContainerEventsondatasetchangedEvent;
    Fondataavailable: THTMLTextContainerEventsondataavailableEvent;
    Fondatasetcomplete: THTMLTextContainerEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLTextContainerEventsonlosecaptureEvent;
    Fonpropertychange: THTMLTextContainerEventsonpropertychangeEvent;
    Fonscroll: THTMLTextContainerEventsonscrollEvent;
    Fonfocus: THTMLTextContainerEventsonfocusEvent;
    Fonblur: THTMLTextContainerEventsonblurEvent;
    Fonresize: THTMLTextContainerEventsonresizeEvent;
    Fondrag: THTMLTextContainerEventsondragEvent;
    Fondragend: THTMLTextContainerEventsondragendEvent;
    Fondragenter: THTMLTextContainerEventsondragenterEvent;
    Fondragover: THTMLTextContainerEventsondragoverEvent;
    Fondragleave: THTMLTextContainerEventsondragleaveEvent;
    Fondrop: THTMLTextContainerEventsondropEvent;
    Fonbeforecut: THTMLTextContainerEventsonbeforecutEvent;
    Foncut: THTMLTextContainerEventsoncutEvent;
    Fonbeforecopy: THTMLTextContainerEventsonbeforecopyEvent;
    Foncopy: THTMLTextContainerEventsoncopyEvent;
    Fonbeforepaste: THTMLTextContainerEventsonbeforepasteEvent;
    Fonpaste: THTMLTextContainerEventsonpasteEvent;
    Foncontextmenu: THTMLTextContainerEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLTextContainerEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLTextContainerEventsonrowsinsertedEvent;
    Foncellchange: THTMLTextContainerEventsoncellchangeEvent;
    Fonreadystatechange: THTMLTextContainerEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLTextContainerEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLTextContainerEventsonlayoutcompleteEvent;
    Fonpage: THTMLTextContainerEventsonpageEvent;
    Fonbeforedeactivate: THTMLTextContainerEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLTextContainerEventsonbeforeactivateEvent;
    Fonmove: THTMLTextContainerEventsonmoveEvent;
    Foncontrolselect: THTMLTextContainerEventsoncontrolselectEvent;
    Fonmovestart: THTMLTextContainerEventsonmovestartEvent;
    Fonmoveend: THTMLTextContainerEventsonmoveendEvent;
    Fonresizestart: THTMLTextContainerEventsonresizestartEvent;
    Fonresizeend: THTMLTextContainerEventsonresizeendEvent;
    Fonmouseenter: THTMLTextContainerEventsonmouseenterEvent;
    Fonmouseleave: THTMLTextContainerEventsonmouseleaveEvent;
    Fonmousewheel: THTMLTextContainerEventsonmousewheelEvent;
    Fonactivate: THTMLTextContainerEventsonactivateEvent;
    Fondeactivate: THTMLTextContainerEventsondeactivateEvent;
    Fonfocusin: THTMLTextContainerEventsonfocusinEvent;
    Fonfocusout: THTMLTextContainerEventsonfocusoutEvent;
    Fonchange: THTMLTextContainerEventsonchangeEvent;
    Fonselect: THTMLTextContainerEventsonselectEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLTextContainerEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLTextContainerEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLTextContainerEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLTextContainerEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLTextContainerEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLTextContainerEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLTextContainerEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLTextContainerEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLTextContainerEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLTextContainerEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLTextContainerEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLTextContainerEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLTextContainerEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLTextContainerEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLTextContainerEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLTextContainerEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLTextContainerEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLTextContainerEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLTextContainerEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLTextContainerEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLTextContainerEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLTextContainerEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLTextContainerEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLTextContainerEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLTextContainerEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLTextContainerEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLTextContainerEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLTextContainerEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLTextContainerEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLTextContainerEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLTextContainerEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLTextContainerEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLTextContainerEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLTextContainerEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLTextContainerEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLTextContainerEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLTextContainerEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLTextContainerEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLTextContainerEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLTextContainerEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLTextContainerEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLTextContainerEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLTextContainerEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLTextContainerEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLTextContainerEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLTextContainerEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLTextContainerEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLTextContainerEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLTextContainerEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLTextContainerEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLTextContainerEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLTextContainerEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLTextContainerEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLTextContainerEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLTextContainerEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLTextContainerEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLTextContainerEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLTextContainerEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLTextContainerEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLTextContainerEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLTextContainerEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLTextContainerEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLTextContainerEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onchange: THTMLTextContainerEventsonchangeEvent read Fonchange write Fonchange;
    property onselect: THTMLTextContainerEventsonselectEvent read Fonselect write Fonselect;
  end;


  //SinkEventsForwards//
  THTMLTextContainerEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTextContainerEvents2onchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTextContainerEvents2onselectEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;

  //SinkComponent//
  TMSHTMLHTMLTextContainerEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonselect(const pEvtObj: IHTMLEventObj); safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLTextContainerEvents2onhelpEvent;
    Fonclick: THTMLTextContainerEvents2onclickEvent;
    Fondblclick: THTMLTextContainerEvents2ondblclickEvent;
    Fonkeypress: THTMLTextContainerEvents2onkeypressEvent;
    Fonkeydown: THTMLTextContainerEvents2onkeydownEvent;
    Fonkeyup: THTMLTextContainerEvents2onkeyupEvent;
    Fonmouseout: THTMLTextContainerEvents2onmouseoutEvent;
    Fonmouseover: THTMLTextContainerEvents2onmouseoverEvent;
    Fonmousemove: THTMLTextContainerEvents2onmousemoveEvent;
    Fonmousedown: THTMLTextContainerEvents2onmousedownEvent;
    Fonmouseup: THTMLTextContainerEvents2onmouseupEvent;
    Fonselectstart: THTMLTextContainerEvents2onselectstartEvent;
    Fonfilterchange: THTMLTextContainerEvents2onfilterchangeEvent;
    Fondragstart: THTMLTextContainerEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLTextContainerEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLTextContainerEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLTextContainerEvents2onerrorupdateEvent;
    Fonrowexit: THTMLTextContainerEvents2onrowexitEvent;
    Fonrowenter: THTMLTextContainerEvents2onrowenterEvent;
    Fondatasetchanged: THTMLTextContainerEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLTextContainerEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLTextContainerEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLTextContainerEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLTextContainerEvents2onpropertychangeEvent;
    Fonscroll: THTMLTextContainerEvents2onscrollEvent;
    Fonfocus: THTMLTextContainerEvents2onfocusEvent;
    Fonblur: THTMLTextContainerEvents2onblurEvent;
    Fonresize: THTMLTextContainerEvents2onresizeEvent;
    Fondrag: THTMLTextContainerEvents2ondragEvent;
    Fondragend: THTMLTextContainerEvents2ondragendEvent;
    Fondragenter: THTMLTextContainerEvents2ondragenterEvent;
    Fondragover: THTMLTextContainerEvents2ondragoverEvent;
    Fondragleave: THTMLTextContainerEvents2ondragleaveEvent;
    Fondrop: THTMLTextContainerEvents2ondropEvent;
    Fonbeforecut: THTMLTextContainerEvents2onbeforecutEvent;
    Foncut: THTMLTextContainerEvents2oncutEvent;
    Fonbeforecopy: THTMLTextContainerEvents2onbeforecopyEvent;
    Foncopy: THTMLTextContainerEvents2oncopyEvent;
    Fonbeforepaste: THTMLTextContainerEvents2onbeforepasteEvent;
    Fonpaste: THTMLTextContainerEvents2onpasteEvent;
    Foncontextmenu: THTMLTextContainerEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLTextContainerEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLTextContainerEvents2onrowsinsertedEvent;
    Foncellchange: THTMLTextContainerEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLTextContainerEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLTextContainerEvents2onlayoutcompleteEvent;
    Fonpage: THTMLTextContainerEvents2onpageEvent;
    Fonmouseenter: THTMLTextContainerEvents2onmouseenterEvent;
    Fonmouseleave: THTMLTextContainerEvents2onmouseleaveEvent;
    Fonactivate: THTMLTextContainerEvents2onactivateEvent;
    Fondeactivate: THTMLTextContainerEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLTextContainerEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLTextContainerEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLTextContainerEvents2onfocusinEvent;
    Fonfocusout: THTMLTextContainerEvents2onfocusoutEvent;
    Fonmove: THTMLTextContainerEvents2onmoveEvent;
    Foncontrolselect: THTMLTextContainerEvents2oncontrolselectEvent;
    Fonmovestart: THTMLTextContainerEvents2onmovestartEvent;
    Fonmoveend: THTMLTextContainerEvents2onmoveendEvent;
    Fonresizestart: THTMLTextContainerEvents2onresizestartEvent;
    Fonresizeend: THTMLTextContainerEvents2onresizeendEvent;
    Fonmousewheel: THTMLTextContainerEvents2onmousewheelEvent;
    Fonchange: THTMLTextContainerEvents2onchangeEvent;
    Fonselect: THTMLTextContainerEvents2onselectEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLTextContainerEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLTextContainerEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLTextContainerEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLTextContainerEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLTextContainerEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLTextContainerEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLTextContainerEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLTextContainerEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLTextContainerEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLTextContainerEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLTextContainerEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLTextContainerEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLTextContainerEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLTextContainerEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLTextContainerEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLTextContainerEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLTextContainerEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLTextContainerEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLTextContainerEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLTextContainerEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLTextContainerEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLTextContainerEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLTextContainerEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLTextContainerEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLTextContainerEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLTextContainerEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLTextContainerEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLTextContainerEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLTextContainerEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLTextContainerEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLTextContainerEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLTextContainerEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLTextContainerEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLTextContainerEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLTextContainerEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLTextContainerEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLTextContainerEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLTextContainerEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLTextContainerEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLTextContainerEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLTextContainerEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLTextContainerEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLTextContainerEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLTextContainerEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLTextContainerEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLTextContainerEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLTextContainerEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLTextContainerEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLTextContainerEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLTextContainerEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLTextContainerEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLTextContainerEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLTextContainerEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLTextContainerEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLTextContainerEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLTextContainerEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLTextContainerEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLTextContainerEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLTextContainerEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLTextContainerEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLTextContainerEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLTextContainerEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onchange: THTMLTextContainerEvents2onchangeEvent read Fonchange write Fonchange;
    property onselect: THTMLTextContainerEvents2onselectEvent read Fonselect write Fonselect;
  end;


  //SinkEventsForwards//
  THTMLAnchorEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLAnchorEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLAnchorEventsonfocusoutEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLAnchorEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLAnchorEventsonhelpEvent;
    Fonclick: THTMLAnchorEventsonclickEvent;
    Fondblclick: THTMLAnchorEventsondblclickEvent;
    Fonkeypress: THTMLAnchorEventsonkeypressEvent;
    Fonkeydown: THTMLAnchorEventsonkeydownEvent;
    Fonkeyup: THTMLAnchorEventsonkeyupEvent;
    Fonmouseout: THTMLAnchorEventsonmouseoutEvent;
    Fonmouseover: THTMLAnchorEventsonmouseoverEvent;
    Fonmousemove: THTMLAnchorEventsonmousemoveEvent;
    Fonmousedown: THTMLAnchorEventsonmousedownEvent;
    Fonmouseup: THTMLAnchorEventsonmouseupEvent;
    Fonselectstart: THTMLAnchorEventsonselectstartEvent;
    Fonfilterchange: THTMLAnchorEventsonfilterchangeEvent;
    Fondragstart: THTMLAnchorEventsondragstartEvent;
    Fonbeforeupdate: THTMLAnchorEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLAnchorEventsonafterupdateEvent;
    Fonerrorupdate: THTMLAnchorEventsonerrorupdateEvent;
    Fonrowexit: THTMLAnchorEventsonrowexitEvent;
    Fonrowenter: THTMLAnchorEventsonrowenterEvent;
    Fondatasetchanged: THTMLAnchorEventsondatasetchangedEvent;
    Fondataavailable: THTMLAnchorEventsondataavailableEvent;
    Fondatasetcomplete: THTMLAnchorEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLAnchorEventsonlosecaptureEvent;
    Fonpropertychange: THTMLAnchorEventsonpropertychangeEvent;
    Fonscroll: THTMLAnchorEventsonscrollEvent;
    Fonfocus: THTMLAnchorEventsonfocusEvent;
    Fonblur: THTMLAnchorEventsonblurEvent;
    Fonresize: THTMLAnchorEventsonresizeEvent;
    Fondrag: THTMLAnchorEventsondragEvent;
    Fondragend: THTMLAnchorEventsondragendEvent;
    Fondragenter: THTMLAnchorEventsondragenterEvent;
    Fondragover: THTMLAnchorEventsondragoverEvent;
    Fondragleave: THTMLAnchorEventsondragleaveEvent;
    Fondrop: THTMLAnchorEventsondropEvent;
    Fonbeforecut: THTMLAnchorEventsonbeforecutEvent;
    Foncut: THTMLAnchorEventsoncutEvent;
    Fonbeforecopy: THTMLAnchorEventsonbeforecopyEvent;
    Foncopy: THTMLAnchorEventsoncopyEvent;
    Fonbeforepaste: THTMLAnchorEventsonbeforepasteEvent;
    Fonpaste: THTMLAnchorEventsonpasteEvent;
    Foncontextmenu: THTMLAnchorEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLAnchorEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLAnchorEventsonrowsinsertedEvent;
    Foncellchange: THTMLAnchorEventsoncellchangeEvent;
    Fonreadystatechange: THTMLAnchorEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLAnchorEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLAnchorEventsonlayoutcompleteEvent;
    Fonpage: THTMLAnchorEventsonpageEvent;
    Fonbeforedeactivate: THTMLAnchorEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLAnchorEventsonbeforeactivateEvent;
    Fonmove: THTMLAnchorEventsonmoveEvent;
    Foncontrolselect: THTMLAnchorEventsoncontrolselectEvent;
    Fonmovestart: THTMLAnchorEventsonmovestartEvent;
    Fonmoveend: THTMLAnchorEventsonmoveendEvent;
    Fonresizestart: THTMLAnchorEventsonresizestartEvent;
    Fonresizeend: THTMLAnchorEventsonresizeendEvent;
    Fonmouseenter: THTMLAnchorEventsonmouseenterEvent;
    Fonmouseleave: THTMLAnchorEventsonmouseleaveEvent;
    Fonmousewheel: THTMLAnchorEventsonmousewheelEvent;
    Fonactivate: THTMLAnchorEventsonactivateEvent;
    Fondeactivate: THTMLAnchorEventsondeactivateEvent;
    Fonfocusin: THTMLAnchorEventsonfocusinEvent;
    Fonfocusout: THTMLAnchorEventsonfocusoutEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLAnchorEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLAnchorEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLAnchorEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLAnchorEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLAnchorEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLAnchorEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLAnchorEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLAnchorEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLAnchorEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLAnchorEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLAnchorEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLAnchorEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLAnchorEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLAnchorEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLAnchorEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLAnchorEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLAnchorEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLAnchorEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLAnchorEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLAnchorEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLAnchorEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLAnchorEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLAnchorEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLAnchorEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLAnchorEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLAnchorEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLAnchorEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLAnchorEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLAnchorEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLAnchorEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLAnchorEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLAnchorEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLAnchorEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLAnchorEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLAnchorEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLAnchorEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLAnchorEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLAnchorEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLAnchorEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLAnchorEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLAnchorEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLAnchorEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLAnchorEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLAnchorEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLAnchorEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLAnchorEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLAnchorEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLAnchorEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLAnchorEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLAnchorEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLAnchorEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLAnchorEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLAnchorEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLAnchorEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLAnchorEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLAnchorEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLAnchorEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLAnchorEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLAnchorEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLAnchorEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLAnchorEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLAnchorEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLAnchorEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
  end;


  //SinkEventsForwards//
  THTMLAnchorEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAnchorEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAnchorEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;

  //SinkComponent//
  TMSHTMLHTMLAnchorEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLAnchorEvents2onhelpEvent;
    Fonclick: THTMLAnchorEvents2onclickEvent;
    Fondblclick: THTMLAnchorEvents2ondblclickEvent;
    Fonkeypress: THTMLAnchorEvents2onkeypressEvent;
    Fonkeydown: THTMLAnchorEvents2onkeydownEvent;
    Fonkeyup: THTMLAnchorEvents2onkeyupEvent;
    Fonmouseout: THTMLAnchorEvents2onmouseoutEvent;
    Fonmouseover: THTMLAnchorEvents2onmouseoverEvent;
    Fonmousemove: THTMLAnchorEvents2onmousemoveEvent;
    Fonmousedown: THTMLAnchorEvents2onmousedownEvent;
    Fonmouseup: THTMLAnchorEvents2onmouseupEvent;
    Fonselectstart: THTMLAnchorEvents2onselectstartEvent;
    Fonfilterchange: THTMLAnchorEvents2onfilterchangeEvent;
    Fondragstart: THTMLAnchorEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLAnchorEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLAnchorEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLAnchorEvents2onerrorupdateEvent;
    Fonrowexit: THTMLAnchorEvents2onrowexitEvent;
    Fonrowenter: THTMLAnchorEvents2onrowenterEvent;
    Fondatasetchanged: THTMLAnchorEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLAnchorEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLAnchorEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLAnchorEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLAnchorEvents2onpropertychangeEvent;
    Fonscroll: THTMLAnchorEvents2onscrollEvent;
    Fonfocus: THTMLAnchorEvents2onfocusEvent;
    Fonblur: THTMLAnchorEvents2onblurEvent;
    Fonresize: THTMLAnchorEvents2onresizeEvent;
    Fondrag: THTMLAnchorEvents2ondragEvent;
    Fondragend: THTMLAnchorEvents2ondragendEvent;
    Fondragenter: THTMLAnchorEvents2ondragenterEvent;
    Fondragover: THTMLAnchorEvents2ondragoverEvent;
    Fondragleave: THTMLAnchorEvents2ondragleaveEvent;
    Fondrop: THTMLAnchorEvents2ondropEvent;
    Fonbeforecut: THTMLAnchorEvents2onbeforecutEvent;
    Foncut: THTMLAnchorEvents2oncutEvent;
    Fonbeforecopy: THTMLAnchorEvents2onbeforecopyEvent;
    Foncopy: THTMLAnchorEvents2oncopyEvent;
    Fonbeforepaste: THTMLAnchorEvents2onbeforepasteEvent;
    Fonpaste: THTMLAnchorEvents2onpasteEvent;
    Foncontextmenu: THTMLAnchorEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLAnchorEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLAnchorEvents2onrowsinsertedEvent;
    Foncellchange: THTMLAnchorEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLAnchorEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLAnchorEvents2onlayoutcompleteEvent;
    Fonpage: THTMLAnchorEvents2onpageEvent;
    Fonmouseenter: THTMLAnchorEvents2onmouseenterEvent;
    Fonmouseleave: THTMLAnchorEvents2onmouseleaveEvent;
    Fonactivate: THTMLAnchorEvents2onactivateEvent;
    Fondeactivate: THTMLAnchorEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLAnchorEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLAnchorEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLAnchorEvents2onfocusinEvent;
    Fonfocusout: THTMLAnchorEvents2onfocusoutEvent;
    Fonmove: THTMLAnchorEvents2onmoveEvent;
    Foncontrolselect: THTMLAnchorEvents2oncontrolselectEvent;
    Fonmovestart: THTMLAnchorEvents2onmovestartEvent;
    Fonmoveend: THTMLAnchorEvents2onmoveendEvent;
    Fonresizestart: THTMLAnchorEvents2onresizestartEvent;
    Fonresizeend: THTMLAnchorEvents2onresizeendEvent;
    Fonmousewheel: THTMLAnchorEvents2onmousewheelEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLAnchorEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLAnchorEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLAnchorEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLAnchorEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLAnchorEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLAnchorEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLAnchorEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLAnchorEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLAnchorEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLAnchorEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLAnchorEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLAnchorEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLAnchorEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLAnchorEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLAnchorEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLAnchorEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLAnchorEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLAnchorEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLAnchorEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLAnchorEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLAnchorEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLAnchorEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLAnchorEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLAnchorEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLAnchorEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLAnchorEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLAnchorEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLAnchorEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLAnchorEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLAnchorEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLAnchorEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLAnchorEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLAnchorEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLAnchorEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLAnchorEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLAnchorEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLAnchorEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLAnchorEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLAnchorEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLAnchorEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLAnchorEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLAnchorEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLAnchorEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLAnchorEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLAnchorEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLAnchorEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLAnchorEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLAnchorEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLAnchorEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLAnchorEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLAnchorEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLAnchorEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLAnchorEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLAnchorEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLAnchorEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLAnchorEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLAnchorEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLAnchorEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLAnchorEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLAnchorEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLAnchorEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLAnchorEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
  end;


  //SinkEventsForwards//
  THTMLLabelEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLLabelEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLLabelEventsonfocusoutEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLLabelEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLLabelEventsonhelpEvent;
    Fonclick: THTMLLabelEventsonclickEvent;
    Fondblclick: THTMLLabelEventsondblclickEvent;
    Fonkeypress: THTMLLabelEventsonkeypressEvent;
    Fonkeydown: THTMLLabelEventsonkeydownEvent;
    Fonkeyup: THTMLLabelEventsonkeyupEvent;
    Fonmouseout: THTMLLabelEventsonmouseoutEvent;
    Fonmouseover: THTMLLabelEventsonmouseoverEvent;
    Fonmousemove: THTMLLabelEventsonmousemoveEvent;
    Fonmousedown: THTMLLabelEventsonmousedownEvent;
    Fonmouseup: THTMLLabelEventsonmouseupEvent;
    Fonselectstart: THTMLLabelEventsonselectstartEvent;
    Fonfilterchange: THTMLLabelEventsonfilterchangeEvent;
    Fondragstart: THTMLLabelEventsondragstartEvent;
    Fonbeforeupdate: THTMLLabelEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLLabelEventsonafterupdateEvent;
    Fonerrorupdate: THTMLLabelEventsonerrorupdateEvent;
    Fonrowexit: THTMLLabelEventsonrowexitEvent;
    Fonrowenter: THTMLLabelEventsonrowenterEvent;
    Fondatasetchanged: THTMLLabelEventsondatasetchangedEvent;
    Fondataavailable: THTMLLabelEventsondataavailableEvent;
    Fondatasetcomplete: THTMLLabelEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLLabelEventsonlosecaptureEvent;
    Fonpropertychange: THTMLLabelEventsonpropertychangeEvent;
    Fonscroll: THTMLLabelEventsonscrollEvent;
    Fonfocus: THTMLLabelEventsonfocusEvent;
    Fonblur: THTMLLabelEventsonblurEvent;
    Fonresize: THTMLLabelEventsonresizeEvent;
    Fondrag: THTMLLabelEventsondragEvent;
    Fondragend: THTMLLabelEventsondragendEvent;
    Fondragenter: THTMLLabelEventsondragenterEvent;
    Fondragover: THTMLLabelEventsondragoverEvent;
    Fondragleave: THTMLLabelEventsondragleaveEvent;
    Fondrop: THTMLLabelEventsondropEvent;
    Fonbeforecut: THTMLLabelEventsonbeforecutEvent;
    Foncut: THTMLLabelEventsoncutEvent;
    Fonbeforecopy: THTMLLabelEventsonbeforecopyEvent;
    Foncopy: THTMLLabelEventsoncopyEvent;
    Fonbeforepaste: THTMLLabelEventsonbeforepasteEvent;
    Fonpaste: THTMLLabelEventsonpasteEvent;
    Foncontextmenu: THTMLLabelEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLLabelEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLLabelEventsonrowsinsertedEvent;
    Foncellchange: THTMLLabelEventsoncellchangeEvent;
    Fonreadystatechange: THTMLLabelEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLLabelEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLLabelEventsonlayoutcompleteEvent;
    Fonpage: THTMLLabelEventsonpageEvent;
    Fonbeforedeactivate: THTMLLabelEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLLabelEventsonbeforeactivateEvent;
    Fonmove: THTMLLabelEventsonmoveEvent;
    Foncontrolselect: THTMLLabelEventsoncontrolselectEvent;
    Fonmovestart: THTMLLabelEventsonmovestartEvent;
    Fonmoveend: THTMLLabelEventsonmoveendEvent;
    Fonresizestart: THTMLLabelEventsonresizestartEvent;
    Fonresizeend: THTMLLabelEventsonresizeendEvent;
    Fonmouseenter: THTMLLabelEventsonmouseenterEvent;
    Fonmouseleave: THTMLLabelEventsonmouseleaveEvent;
    Fonmousewheel: THTMLLabelEventsonmousewheelEvent;
    Fonactivate: THTMLLabelEventsonactivateEvent;
    Fondeactivate: THTMLLabelEventsondeactivateEvent;
    Fonfocusin: THTMLLabelEventsonfocusinEvent;
    Fonfocusout: THTMLLabelEventsonfocusoutEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLLabelEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLLabelEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLLabelEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLLabelEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLLabelEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLLabelEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLLabelEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLLabelEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLLabelEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLLabelEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLLabelEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLLabelEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLLabelEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLLabelEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLLabelEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLLabelEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLLabelEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLLabelEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLLabelEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLLabelEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLLabelEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLLabelEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLLabelEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLLabelEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLLabelEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLLabelEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLLabelEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLLabelEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLLabelEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLLabelEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLLabelEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLLabelEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLLabelEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLLabelEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLLabelEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLLabelEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLLabelEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLLabelEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLLabelEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLLabelEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLLabelEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLLabelEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLLabelEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLLabelEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLLabelEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLLabelEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLLabelEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLLabelEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLLabelEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLLabelEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLLabelEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLLabelEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLLabelEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLLabelEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLLabelEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLLabelEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLLabelEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLLabelEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLLabelEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLLabelEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLLabelEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLLabelEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLLabelEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
  end;


  //SinkEventsForwards//
  THTMLLabelEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLLabelEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLLabelEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;

  //SinkComponent//
  TMSHTMLHTMLLabelEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLLabelEvents2onhelpEvent;
    Fonclick: THTMLLabelEvents2onclickEvent;
    Fondblclick: THTMLLabelEvents2ondblclickEvent;
    Fonkeypress: THTMLLabelEvents2onkeypressEvent;
    Fonkeydown: THTMLLabelEvents2onkeydownEvent;
    Fonkeyup: THTMLLabelEvents2onkeyupEvent;
    Fonmouseout: THTMLLabelEvents2onmouseoutEvent;
    Fonmouseover: THTMLLabelEvents2onmouseoverEvent;
    Fonmousemove: THTMLLabelEvents2onmousemoveEvent;
    Fonmousedown: THTMLLabelEvents2onmousedownEvent;
    Fonmouseup: THTMLLabelEvents2onmouseupEvent;
    Fonselectstart: THTMLLabelEvents2onselectstartEvent;
    Fonfilterchange: THTMLLabelEvents2onfilterchangeEvent;
    Fondragstart: THTMLLabelEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLLabelEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLLabelEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLLabelEvents2onerrorupdateEvent;
    Fonrowexit: THTMLLabelEvents2onrowexitEvent;
    Fonrowenter: THTMLLabelEvents2onrowenterEvent;
    Fondatasetchanged: THTMLLabelEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLLabelEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLLabelEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLLabelEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLLabelEvents2onpropertychangeEvent;
    Fonscroll: THTMLLabelEvents2onscrollEvent;
    Fonfocus: THTMLLabelEvents2onfocusEvent;
    Fonblur: THTMLLabelEvents2onblurEvent;
    Fonresize: THTMLLabelEvents2onresizeEvent;
    Fondrag: THTMLLabelEvents2ondragEvent;
    Fondragend: THTMLLabelEvents2ondragendEvent;
    Fondragenter: THTMLLabelEvents2ondragenterEvent;
    Fondragover: THTMLLabelEvents2ondragoverEvent;
    Fondragleave: THTMLLabelEvents2ondragleaveEvent;
    Fondrop: THTMLLabelEvents2ondropEvent;
    Fonbeforecut: THTMLLabelEvents2onbeforecutEvent;
    Foncut: THTMLLabelEvents2oncutEvent;
    Fonbeforecopy: THTMLLabelEvents2onbeforecopyEvent;
    Foncopy: THTMLLabelEvents2oncopyEvent;
    Fonbeforepaste: THTMLLabelEvents2onbeforepasteEvent;
    Fonpaste: THTMLLabelEvents2onpasteEvent;
    Foncontextmenu: THTMLLabelEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLLabelEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLLabelEvents2onrowsinsertedEvent;
    Foncellchange: THTMLLabelEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLLabelEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLLabelEvents2onlayoutcompleteEvent;
    Fonpage: THTMLLabelEvents2onpageEvent;
    Fonmouseenter: THTMLLabelEvents2onmouseenterEvent;
    Fonmouseleave: THTMLLabelEvents2onmouseleaveEvent;
    Fonactivate: THTMLLabelEvents2onactivateEvent;
    Fondeactivate: THTMLLabelEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLLabelEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLLabelEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLLabelEvents2onfocusinEvent;
    Fonfocusout: THTMLLabelEvents2onfocusoutEvent;
    Fonmove: THTMLLabelEvents2onmoveEvent;
    Foncontrolselect: THTMLLabelEvents2oncontrolselectEvent;
    Fonmovestart: THTMLLabelEvents2onmovestartEvent;
    Fonmoveend: THTMLLabelEvents2onmoveendEvent;
    Fonresizestart: THTMLLabelEvents2onresizestartEvent;
    Fonresizeend: THTMLLabelEvents2onresizeendEvent;
    Fonmousewheel: THTMLLabelEvents2onmousewheelEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLLabelEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLLabelEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLLabelEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLLabelEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLLabelEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLLabelEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLLabelEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLLabelEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLLabelEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLLabelEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLLabelEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLLabelEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLLabelEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLLabelEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLLabelEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLLabelEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLLabelEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLLabelEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLLabelEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLLabelEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLLabelEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLLabelEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLLabelEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLLabelEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLLabelEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLLabelEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLLabelEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLLabelEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLLabelEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLLabelEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLLabelEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLLabelEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLLabelEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLLabelEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLLabelEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLLabelEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLLabelEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLLabelEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLLabelEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLLabelEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLLabelEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLLabelEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLLabelEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLLabelEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLLabelEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLLabelEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLLabelEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLLabelEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLLabelEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLLabelEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLLabelEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLLabelEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLLabelEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLLabelEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLLabelEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLLabelEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLLabelEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLLabelEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLLabelEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLLabelEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLLabelEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLLabelEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
  end;


  //SinkEventsForwards//
  THTMLSelectElementEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLSelectElementEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLSelectElementEventsonchangeEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLSelectElementEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    procedure Doonchange; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLSelectElementEventsonhelpEvent;
    Fonclick: THTMLSelectElementEventsonclickEvent;
    Fondblclick: THTMLSelectElementEventsondblclickEvent;
    Fonkeypress: THTMLSelectElementEventsonkeypressEvent;
    Fonkeydown: THTMLSelectElementEventsonkeydownEvent;
    Fonkeyup: THTMLSelectElementEventsonkeyupEvent;
    Fonmouseout: THTMLSelectElementEventsonmouseoutEvent;
    Fonmouseover: THTMLSelectElementEventsonmouseoverEvent;
    Fonmousemove: THTMLSelectElementEventsonmousemoveEvent;
    Fonmousedown: THTMLSelectElementEventsonmousedownEvent;
    Fonmouseup: THTMLSelectElementEventsonmouseupEvent;
    Fonselectstart: THTMLSelectElementEventsonselectstartEvent;
    Fonfilterchange: THTMLSelectElementEventsonfilterchangeEvent;
    Fondragstart: THTMLSelectElementEventsondragstartEvent;
    Fonbeforeupdate: THTMLSelectElementEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLSelectElementEventsonafterupdateEvent;
    Fonerrorupdate: THTMLSelectElementEventsonerrorupdateEvent;
    Fonrowexit: THTMLSelectElementEventsonrowexitEvent;
    Fonrowenter: THTMLSelectElementEventsonrowenterEvent;
    Fondatasetchanged: THTMLSelectElementEventsondatasetchangedEvent;
    Fondataavailable: THTMLSelectElementEventsondataavailableEvent;
    Fondatasetcomplete: THTMLSelectElementEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLSelectElementEventsonlosecaptureEvent;
    Fonpropertychange: THTMLSelectElementEventsonpropertychangeEvent;
    Fonscroll: THTMLSelectElementEventsonscrollEvent;
    Fonfocus: THTMLSelectElementEventsonfocusEvent;
    Fonblur: THTMLSelectElementEventsonblurEvent;
    Fonresize: THTMLSelectElementEventsonresizeEvent;
    Fondrag: THTMLSelectElementEventsondragEvent;
    Fondragend: THTMLSelectElementEventsondragendEvent;
    Fondragenter: THTMLSelectElementEventsondragenterEvent;
    Fondragover: THTMLSelectElementEventsondragoverEvent;
    Fondragleave: THTMLSelectElementEventsondragleaveEvent;
    Fondrop: THTMLSelectElementEventsondropEvent;
    Fonbeforecut: THTMLSelectElementEventsonbeforecutEvent;
    Foncut: THTMLSelectElementEventsoncutEvent;
    Fonbeforecopy: THTMLSelectElementEventsonbeforecopyEvent;
    Foncopy: THTMLSelectElementEventsoncopyEvent;
    Fonbeforepaste: THTMLSelectElementEventsonbeforepasteEvent;
    Fonpaste: THTMLSelectElementEventsonpasteEvent;
    Foncontextmenu: THTMLSelectElementEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLSelectElementEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLSelectElementEventsonrowsinsertedEvent;
    Foncellchange: THTMLSelectElementEventsoncellchangeEvent;
    Fonreadystatechange: THTMLSelectElementEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLSelectElementEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLSelectElementEventsonlayoutcompleteEvent;
    Fonpage: THTMLSelectElementEventsonpageEvent;
    Fonbeforedeactivate: THTMLSelectElementEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLSelectElementEventsonbeforeactivateEvent;
    Fonmove: THTMLSelectElementEventsonmoveEvent;
    Foncontrolselect: THTMLSelectElementEventsoncontrolselectEvent;
    Fonmovestart: THTMLSelectElementEventsonmovestartEvent;
    Fonmoveend: THTMLSelectElementEventsonmoveendEvent;
    Fonresizestart: THTMLSelectElementEventsonresizestartEvent;
    Fonresizeend: THTMLSelectElementEventsonresizeendEvent;
    Fonmouseenter: THTMLSelectElementEventsonmouseenterEvent;
    Fonmouseleave: THTMLSelectElementEventsonmouseleaveEvent;
    Fonmousewheel: THTMLSelectElementEventsonmousewheelEvent;
    Fonactivate: THTMLSelectElementEventsonactivateEvent;
    Fondeactivate: THTMLSelectElementEventsondeactivateEvent;
    Fonfocusin: THTMLSelectElementEventsonfocusinEvent;
    Fonfocusout: THTMLSelectElementEventsonfocusoutEvent;
    Fonchange: THTMLSelectElementEventsonchangeEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLSelectElementEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLSelectElementEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLSelectElementEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLSelectElementEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLSelectElementEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLSelectElementEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLSelectElementEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLSelectElementEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLSelectElementEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLSelectElementEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLSelectElementEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLSelectElementEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLSelectElementEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLSelectElementEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLSelectElementEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLSelectElementEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLSelectElementEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLSelectElementEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLSelectElementEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLSelectElementEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLSelectElementEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLSelectElementEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLSelectElementEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLSelectElementEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLSelectElementEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLSelectElementEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLSelectElementEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLSelectElementEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLSelectElementEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLSelectElementEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLSelectElementEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLSelectElementEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLSelectElementEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLSelectElementEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLSelectElementEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLSelectElementEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLSelectElementEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLSelectElementEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLSelectElementEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLSelectElementEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLSelectElementEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLSelectElementEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLSelectElementEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLSelectElementEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLSelectElementEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLSelectElementEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLSelectElementEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLSelectElementEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLSelectElementEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLSelectElementEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLSelectElementEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLSelectElementEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLSelectElementEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLSelectElementEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLSelectElementEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLSelectElementEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLSelectElementEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLSelectElementEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLSelectElementEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLSelectElementEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLSelectElementEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLSelectElementEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLSelectElementEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onchange: THTMLSelectElementEventsonchangeEvent read Fonchange write Fonchange;
  end;


  //SinkEventsForwards//
  THTMLSelectElementEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLSelectElementEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLSelectElementEvents2onchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;

  //SinkComponent//
  TMSHTMLHTMLSelectElementEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonchange(const pEvtObj: IHTMLEventObj); safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLSelectElementEvents2onhelpEvent;
    Fonclick: THTMLSelectElementEvents2onclickEvent;
    Fondblclick: THTMLSelectElementEvents2ondblclickEvent;
    Fonkeypress: THTMLSelectElementEvents2onkeypressEvent;
    Fonkeydown: THTMLSelectElementEvents2onkeydownEvent;
    Fonkeyup: THTMLSelectElementEvents2onkeyupEvent;
    Fonmouseout: THTMLSelectElementEvents2onmouseoutEvent;
    Fonmouseover: THTMLSelectElementEvents2onmouseoverEvent;
    Fonmousemove: THTMLSelectElementEvents2onmousemoveEvent;
    Fonmousedown: THTMLSelectElementEvents2onmousedownEvent;
    Fonmouseup: THTMLSelectElementEvents2onmouseupEvent;
    Fonselectstart: THTMLSelectElementEvents2onselectstartEvent;
    Fonfilterchange: THTMLSelectElementEvents2onfilterchangeEvent;
    Fondragstart: THTMLSelectElementEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLSelectElementEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLSelectElementEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLSelectElementEvents2onerrorupdateEvent;
    Fonrowexit: THTMLSelectElementEvents2onrowexitEvent;
    Fonrowenter: THTMLSelectElementEvents2onrowenterEvent;
    Fondatasetchanged: THTMLSelectElementEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLSelectElementEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLSelectElementEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLSelectElementEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLSelectElementEvents2onpropertychangeEvent;
    Fonscroll: THTMLSelectElementEvents2onscrollEvent;
    Fonfocus: THTMLSelectElementEvents2onfocusEvent;
    Fonblur: THTMLSelectElementEvents2onblurEvent;
    Fonresize: THTMLSelectElementEvents2onresizeEvent;
    Fondrag: THTMLSelectElementEvents2ondragEvent;
    Fondragend: THTMLSelectElementEvents2ondragendEvent;
    Fondragenter: THTMLSelectElementEvents2ondragenterEvent;
    Fondragover: THTMLSelectElementEvents2ondragoverEvent;
    Fondragleave: THTMLSelectElementEvents2ondragleaveEvent;
    Fondrop: THTMLSelectElementEvents2ondropEvent;
    Fonbeforecut: THTMLSelectElementEvents2onbeforecutEvent;
    Foncut: THTMLSelectElementEvents2oncutEvent;
    Fonbeforecopy: THTMLSelectElementEvents2onbeforecopyEvent;
    Foncopy: THTMLSelectElementEvents2oncopyEvent;
    Fonbeforepaste: THTMLSelectElementEvents2onbeforepasteEvent;
    Fonpaste: THTMLSelectElementEvents2onpasteEvent;
    Foncontextmenu: THTMLSelectElementEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLSelectElementEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLSelectElementEvents2onrowsinsertedEvent;
    Foncellchange: THTMLSelectElementEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLSelectElementEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLSelectElementEvents2onlayoutcompleteEvent;
    Fonpage: THTMLSelectElementEvents2onpageEvent;
    Fonmouseenter: THTMLSelectElementEvents2onmouseenterEvent;
    Fonmouseleave: THTMLSelectElementEvents2onmouseleaveEvent;
    Fonactivate: THTMLSelectElementEvents2onactivateEvent;
    Fondeactivate: THTMLSelectElementEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLSelectElementEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLSelectElementEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLSelectElementEvents2onfocusinEvent;
    Fonfocusout: THTMLSelectElementEvents2onfocusoutEvent;
    Fonmove: THTMLSelectElementEvents2onmoveEvent;
    Foncontrolselect: THTMLSelectElementEvents2oncontrolselectEvent;
    Fonmovestart: THTMLSelectElementEvents2onmovestartEvent;
    Fonmoveend: THTMLSelectElementEvents2onmoveendEvent;
    Fonresizestart: THTMLSelectElementEvents2onresizestartEvent;
    Fonresizeend: THTMLSelectElementEvents2onresizeendEvent;
    Fonmousewheel: THTMLSelectElementEvents2onmousewheelEvent;
    Fonchange: THTMLSelectElementEvents2onchangeEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLSelectElementEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLSelectElementEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLSelectElementEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLSelectElementEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLSelectElementEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLSelectElementEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLSelectElementEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLSelectElementEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLSelectElementEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLSelectElementEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLSelectElementEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLSelectElementEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLSelectElementEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLSelectElementEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLSelectElementEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLSelectElementEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLSelectElementEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLSelectElementEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLSelectElementEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLSelectElementEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLSelectElementEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLSelectElementEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLSelectElementEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLSelectElementEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLSelectElementEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLSelectElementEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLSelectElementEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLSelectElementEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLSelectElementEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLSelectElementEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLSelectElementEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLSelectElementEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLSelectElementEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLSelectElementEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLSelectElementEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLSelectElementEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLSelectElementEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLSelectElementEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLSelectElementEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLSelectElementEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLSelectElementEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLSelectElementEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLSelectElementEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLSelectElementEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLSelectElementEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLSelectElementEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLSelectElementEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLSelectElementEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLSelectElementEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLSelectElementEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLSelectElementEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLSelectElementEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLSelectElementEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLSelectElementEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLSelectElementEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLSelectElementEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLSelectElementEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLSelectElementEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLSelectElementEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLSelectElementEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLSelectElementEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLSelectElementEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onchange: THTMLSelectElementEvents2onchangeEvent read Fonchange write Fonchange;
  end;


  //SinkEventsForwards//
  THTMLInputTextElementEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonchangeEvent = function(Sender: TObject): WordBool of object;
  THTMLInputTextElementEventsonselectEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonloadEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonerrorEvent = procedure(Sender: TObject) of object;
  THTMLInputTextElementEventsonabortEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLInputTextElementEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    function Doonchange: WordBool; safecall;
    procedure Doonselect; safecall;
    procedure Doonload; safecall;
    procedure Doonerror; safecall;
    procedure Doonabort; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLInputTextElementEventsonhelpEvent;
    Fonclick: THTMLInputTextElementEventsonclickEvent;
    Fondblclick: THTMLInputTextElementEventsondblclickEvent;
    Fonkeypress: THTMLInputTextElementEventsonkeypressEvent;
    Fonkeydown: THTMLInputTextElementEventsonkeydownEvent;
    Fonkeyup: THTMLInputTextElementEventsonkeyupEvent;
    Fonmouseout: THTMLInputTextElementEventsonmouseoutEvent;
    Fonmouseover: THTMLInputTextElementEventsonmouseoverEvent;
    Fonmousemove: THTMLInputTextElementEventsonmousemoveEvent;
    Fonmousedown: THTMLInputTextElementEventsonmousedownEvent;
    Fonmouseup: THTMLInputTextElementEventsonmouseupEvent;
    Fonselectstart: THTMLInputTextElementEventsonselectstartEvent;
    Fonfilterchange: THTMLInputTextElementEventsonfilterchangeEvent;
    Fondragstart: THTMLInputTextElementEventsondragstartEvent;
    Fonbeforeupdate: THTMLInputTextElementEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLInputTextElementEventsonafterupdateEvent;
    Fonerrorupdate: THTMLInputTextElementEventsonerrorupdateEvent;
    Fonrowexit: THTMLInputTextElementEventsonrowexitEvent;
    Fonrowenter: THTMLInputTextElementEventsonrowenterEvent;
    Fondatasetchanged: THTMLInputTextElementEventsondatasetchangedEvent;
    Fondataavailable: THTMLInputTextElementEventsondataavailableEvent;
    Fondatasetcomplete: THTMLInputTextElementEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLInputTextElementEventsonlosecaptureEvent;
    Fonpropertychange: THTMLInputTextElementEventsonpropertychangeEvent;
    Fonscroll: THTMLInputTextElementEventsonscrollEvent;
    Fonfocus: THTMLInputTextElementEventsonfocusEvent;
    Fonblur: THTMLInputTextElementEventsonblurEvent;
    Fonresize: THTMLInputTextElementEventsonresizeEvent;
    Fondrag: THTMLInputTextElementEventsondragEvent;
    Fondragend: THTMLInputTextElementEventsondragendEvent;
    Fondragenter: THTMLInputTextElementEventsondragenterEvent;
    Fondragover: THTMLInputTextElementEventsondragoverEvent;
    Fondragleave: THTMLInputTextElementEventsondragleaveEvent;
    Fondrop: THTMLInputTextElementEventsondropEvent;
    Fonbeforecut: THTMLInputTextElementEventsonbeforecutEvent;
    Foncut: THTMLInputTextElementEventsoncutEvent;
    Fonbeforecopy: THTMLInputTextElementEventsonbeforecopyEvent;
    Foncopy: THTMLInputTextElementEventsoncopyEvent;
    Fonbeforepaste: THTMLInputTextElementEventsonbeforepasteEvent;
    Fonpaste: THTMLInputTextElementEventsonpasteEvent;
    Foncontextmenu: THTMLInputTextElementEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLInputTextElementEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLInputTextElementEventsonrowsinsertedEvent;
    Foncellchange: THTMLInputTextElementEventsoncellchangeEvent;
    Fonreadystatechange: THTMLInputTextElementEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLInputTextElementEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLInputTextElementEventsonlayoutcompleteEvent;
    Fonpage: THTMLInputTextElementEventsonpageEvent;
    Fonbeforedeactivate: THTMLInputTextElementEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLInputTextElementEventsonbeforeactivateEvent;
    Fonmove: THTMLInputTextElementEventsonmoveEvent;
    Foncontrolselect: THTMLInputTextElementEventsoncontrolselectEvent;
    Fonmovestart: THTMLInputTextElementEventsonmovestartEvent;
    Fonmoveend: THTMLInputTextElementEventsonmoveendEvent;
    Fonresizestart: THTMLInputTextElementEventsonresizestartEvent;
    Fonresizeend: THTMLInputTextElementEventsonresizeendEvent;
    Fonmouseenter: THTMLInputTextElementEventsonmouseenterEvent;
    Fonmouseleave: THTMLInputTextElementEventsonmouseleaveEvent;
    Fonmousewheel: THTMLInputTextElementEventsonmousewheelEvent;
    Fonactivate: THTMLInputTextElementEventsonactivateEvent;
    Fondeactivate: THTMLInputTextElementEventsondeactivateEvent;
    Fonfocusin: THTMLInputTextElementEventsonfocusinEvent;
    Fonfocusout: THTMLInputTextElementEventsonfocusoutEvent;
    Fonchange: THTMLInputTextElementEventsonchangeEvent;
    Fonselect: THTMLInputTextElementEventsonselectEvent;
    Fonload: THTMLInputTextElementEventsonloadEvent;
    Fonerror: THTMLInputTextElementEventsonerrorEvent;
    Fonabort: THTMLInputTextElementEventsonabortEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLInputTextElementEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLInputTextElementEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLInputTextElementEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLInputTextElementEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLInputTextElementEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLInputTextElementEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLInputTextElementEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLInputTextElementEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLInputTextElementEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLInputTextElementEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLInputTextElementEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLInputTextElementEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLInputTextElementEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLInputTextElementEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLInputTextElementEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLInputTextElementEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLInputTextElementEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLInputTextElementEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLInputTextElementEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLInputTextElementEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLInputTextElementEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLInputTextElementEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLInputTextElementEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLInputTextElementEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLInputTextElementEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLInputTextElementEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLInputTextElementEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLInputTextElementEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLInputTextElementEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLInputTextElementEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLInputTextElementEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLInputTextElementEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLInputTextElementEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLInputTextElementEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLInputTextElementEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLInputTextElementEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLInputTextElementEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLInputTextElementEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLInputTextElementEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLInputTextElementEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLInputTextElementEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLInputTextElementEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLInputTextElementEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLInputTextElementEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLInputTextElementEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLInputTextElementEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLInputTextElementEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLInputTextElementEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLInputTextElementEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLInputTextElementEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLInputTextElementEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLInputTextElementEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLInputTextElementEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLInputTextElementEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLInputTextElementEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLInputTextElementEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLInputTextElementEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLInputTextElementEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLInputTextElementEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLInputTextElementEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLInputTextElementEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLInputTextElementEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLInputTextElementEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onchange: THTMLInputTextElementEventsonchangeEvent read Fonchange write Fonchange;
    property onselect: THTMLInputTextElementEventsonselectEvent read Fonselect write Fonselect;
    property onload: THTMLInputTextElementEventsonloadEvent read Fonload write Fonload;
    property onerror: THTMLInputTextElementEventsonerrorEvent read Fonerror write Fonerror;
    property onabort: THTMLInputTextElementEventsonabortEvent read Fonabort write Fonabort;
  end;


  //SinkEventsForwards//
  THTMLInputTextElementEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onchangeEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLInputTextElementEvents2onselectEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onloadEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onerrorEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLInputTextElementEvents2onabortEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;

  //SinkComponent//
  TMSHTMLHTMLInputTextElementEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonchange(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonselect(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonload(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonerror(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonabort(const pEvtObj: IHTMLEventObj); safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLInputTextElementEvents2onhelpEvent;
    Fonclick: THTMLInputTextElementEvents2onclickEvent;
    Fondblclick: THTMLInputTextElementEvents2ondblclickEvent;
    Fonkeypress: THTMLInputTextElementEvents2onkeypressEvent;
    Fonkeydown: THTMLInputTextElementEvents2onkeydownEvent;
    Fonkeyup: THTMLInputTextElementEvents2onkeyupEvent;
    Fonmouseout: THTMLInputTextElementEvents2onmouseoutEvent;
    Fonmouseover: THTMLInputTextElementEvents2onmouseoverEvent;
    Fonmousemove: THTMLInputTextElementEvents2onmousemoveEvent;
    Fonmousedown: THTMLInputTextElementEvents2onmousedownEvent;
    Fonmouseup: THTMLInputTextElementEvents2onmouseupEvent;
    Fonselectstart: THTMLInputTextElementEvents2onselectstartEvent;
    Fonfilterchange: THTMLInputTextElementEvents2onfilterchangeEvent;
    Fondragstart: THTMLInputTextElementEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLInputTextElementEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLInputTextElementEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLInputTextElementEvents2onerrorupdateEvent;
    Fonrowexit: THTMLInputTextElementEvents2onrowexitEvent;
    Fonrowenter: THTMLInputTextElementEvents2onrowenterEvent;
    Fondatasetchanged: THTMLInputTextElementEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLInputTextElementEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLInputTextElementEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLInputTextElementEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLInputTextElementEvents2onpropertychangeEvent;
    Fonscroll: THTMLInputTextElementEvents2onscrollEvent;
    Fonfocus: THTMLInputTextElementEvents2onfocusEvent;
    Fonblur: THTMLInputTextElementEvents2onblurEvent;
    Fonresize: THTMLInputTextElementEvents2onresizeEvent;
    Fondrag: THTMLInputTextElementEvents2ondragEvent;
    Fondragend: THTMLInputTextElementEvents2ondragendEvent;
    Fondragenter: THTMLInputTextElementEvents2ondragenterEvent;
    Fondragover: THTMLInputTextElementEvents2ondragoverEvent;
    Fondragleave: THTMLInputTextElementEvents2ondragleaveEvent;
    Fondrop: THTMLInputTextElementEvents2ondropEvent;
    Fonbeforecut: THTMLInputTextElementEvents2onbeforecutEvent;
    Foncut: THTMLInputTextElementEvents2oncutEvent;
    Fonbeforecopy: THTMLInputTextElementEvents2onbeforecopyEvent;
    Foncopy: THTMLInputTextElementEvents2oncopyEvent;
    Fonbeforepaste: THTMLInputTextElementEvents2onbeforepasteEvent;
    Fonpaste: THTMLInputTextElementEvents2onpasteEvent;
    Foncontextmenu: THTMLInputTextElementEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLInputTextElementEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLInputTextElementEvents2onrowsinsertedEvent;
    Foncellchange: THTMLInputTextElementEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLInputTextElementEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLInputTextElementEvents2onlayoutcompleteEvent;
    Fonpage: THTMLInputTextElementEvents2onpageEvent;
    Fonmouseenter: THTMLInputTextElementEvents2onmouseenterEvent;
    Fonmouseleave: THTMLInputTextElementEvents2onmouseleaveEvent;
    Fonactivate: THTMLInputTextElementEvents2onactivateEvent;
    Fondeactivate: THTMLInputTextElementEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLInputTextElementEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLInputTextElementEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLInputTextElementEvents2onfocusinEvent;
    Fonfocusout: THTMLInputTextElementEvents2onfocusoutEvent;
    Fonmove: THTMLInputTextElementEvents2onmoveEvent;
    Foncontrolselect: THTMLInputTextElementEvents2oncontrolselectEvent;
    Fonmovestart: THTMLInputTextElementEvents2onmovestartEvent;
    Fonmoveend: THTMLInputTextElementEvents2onmoveendEvent;
    Fonresizestart: THTMLInputTextElementEvents2onresizestartEvent;
    Fonresizeend: THTMLInputTextElementEvents2onresizeendEvent;
    Fonmousewheel: THTMLInputTextElementEvents2onmousewheelEvent;
    Fonchange: THTMLInputTextElementEvents2onchangeEvent;
    Fonselect: THTMLInputTextElementEvents2onselectEvent;
    Fonload: THTMLInputTextElementEvents2onloadEvent;
    Fonerror: THTMLInputTextElementEvents2onerrorEvent;
    Fonabort: THTMLInputTextElementEvents2onabortEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLInputTextElementEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLInputTextElementEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLInputTextElementEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLInputTextElementEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLInputTextElementEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLInputTextElementEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLInputTextElementEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLInputTextElementEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLInputTextElementEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLInputTextElementEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLInputTextElementEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLInputTextElementEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLInputTextElementEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLInputTextElementEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLInputTextElementEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLInputTextElementEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLInputTextElementEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLInputTextElementEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLInputTextElementEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLInputTextElementEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLInputTextElementEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLInputTextElementEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLInputTextElementEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLInputTextElementEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLInputTextElementEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLInputTextElementEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLInputTextElementEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLInputTextElementEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLInputTextElementEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLInputTextElementEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLInputTextElementEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLInputTextElementEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLInputTextElementEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLInputTextElementEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLInputTextElementEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLInputTextElementEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLInputTextElementEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLInputTextElementEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLInputTextElementEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLInputTextElementEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLInputTextElementEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLInputTextElementEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLInputTextElementEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLInputTextElementEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLInputTextElementEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLInputTextElementEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLInputTextElementEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLInputTextElementEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLInputTextElementEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLInputTextElementEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLInputTextElementEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLInputTextElementEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLInputTextElementEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLInputTextElementEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLInputTextElementEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLInputTextElementEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLInputTextElementEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLInputTextElementEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLInputTextElementEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLInputTextElementEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLInputTextElementEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLInputTextElementEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onchange: THTMLInputTextElementEvents2onchangeEvent read Fonchange write Fonchange;
    property onselect: THTMLInputTextElementEvents2onselectEvent read Fonselect write Fonselect;
    property onload: THTMLInputTextElementEvents2onloadEvent read Fonload write Fonload;
    property onerror: THTMLInputTextElementEvents2onerrorEvent read Fonerror write Fonerror;
    property onabort: THTMLInputTextElementEvents2onabortEvent read Fonabort write Fonabort;
  end;


  //SinkEventsForwards//
  THTMLOptionButtonElementEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonchangeEvent = function(Sender: TObject): WordBool of object;
  THTMLOptionButtonElementEventsonselectEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonloadEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonerrorEvent = procedure(Sender: TObject) of object;
  THTMLOptionButtonElementEventsonabortEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLOptionButtonElementEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    function Doonchange: WordBool; safecall;
    procedure Doonselect; safecall;
    procedure Doonload; safecall;
    procedure Doonerror; safecall;
    procedure Doonabort; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLOptionButtonElementEventsonhelpEvent;
    Fonclick: THTMLOptionButtonElementEventsonclickEvent;
    Fondblclick: THTMLOptionButtonElementEventsondblclickEvent;
    Fonkeypress: THTMLOptionButtonElementEventsonkeypressEvent;
    Fonkeydown: THTMLOptionButtonElementEventsonkeydownEvent;
    Fonkeyup: THTMLOptionButtonElementEventsonkeyupEvent;
    Fonmouseout: THTMLOptionButtonElementEventsonmouseoutEvent;
    Fonmouseover: THTMLOptionButtonElementEventsonmouseoverEvent;
    Fonmousemove: THTMLOptionButtonElementEventsonmousemoveEvent;
    Fonmousedown: THTMLOptionButtonElementEventsonmousedownEvent;
    Fonmouseup: THTMLOptionButtonElementEventsonmouseupEvent;
    Fonselectstart: THTMLOptionButtonElementEventsonselectstartEvent;
    Fonfilterchange: THTMLOptionButtonElementEventsonfilterchangeEvent;
    Fondragstart: THTMLOptionButtonElementEventsondragstartEvent;
    Fonbeforeupdate: THTMLOptionButtonElementEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLOptionButtonElementEventsonafterupdateEvent;
    Fonerrorupdate: THTMLOptionButtonElementEventsonerrorupdateEvent;
    Fonrowexit: THTMLOptionButtonElementEventsonrowexitEvent;
    Fonrowenter: THTMLOptionButtonElementEventsonrowenterEvent;
    Fondatasetchanged: THTMLOptionButtonElementEventsondatasetchangedEvent;
    Fondataavailable: THTMLOptionButtonElementEventsondataavailableEvent;
    Fondatasetcomplete: THTMLOptionButtonElementEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLOptionButtonElementEventsonlosecaptureEvent;
    Fonpropertychange: THTMLOptionButtonElementEventsonpropertychangeEvent;
    Fonscroll: THTMLOptionButtonElementEventsonscrollEvent;
    Fonfocus: THTMLOptionButtonElementEventsonfocusEvent;
    Fonblur: THTMLOptionButtonElementEventsonblurEvent;
    Fonresize: THTMLOptionButtonElementEventsonresizeEvent;
    Fondrag: THTMLOptionButtonElementEventsondragEvent;
    Fondragend: THTMLOptionButtonElementEventsondragendEvent;
    Fondragenter: THTMLOptionButtonElementEventsondragenterEvent;
    Fondragover: THTMLOptionButtonElementEventsondragoverEvent;
    Fondragleave: THTMLOptionButtonElementEventsondragleaveEvent;
    Fondrop: THTMLOptionButtonElementEventsondropEvent;
    Fonbeforecut: THTMLOptionButtonElementEventsonbeforecutEvent;
    Foncut: THTMLOptionButtonElementEventsoncutEvent;
    Fonbeforecopy: THTMLOptionButtonElementEventsonbeforecopyEvent;
    Foncopy: THTMLOptionButtonElementEventsoncopyEvent;
    Fonbeforepaste: THTMLOptionButtonElementEventsonbeforepasteEvent;
    Fonpaste: THTMLOptionButtonElementEventsonpasteEvent;
    Foncontextmenu: THTMLOptionButtonElementEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLOptionButtonElementEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLOptionButtonElementEventsonrowsinsertedEvent;
    Foncellchange: THTMLOptionButtonElementEventsoncellchangeEvent;
    Fonreadystatechange: THTMLOptionButtonElementEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLOptionButtonElementEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLOptionButtonElementEventsonlayoutcompleteEvent;
    Fonpage: THTMLOptionButtonElementEventsonpageEvent;
    Fonbeforedeactivate: THTMLOptionButtonElementEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLOptionButtonElementEventsonbeforeactivateEvent;
    Fonmove: THTMLOptionButtonElementEventsonmoveEvent;
    Foncontrolselect: THTMLOptionButtonElementEventsoncontrolselectEvent;
    Fonmovestart: THTMLOptionButtonElementEventsonmovestartEvent;
    Fonmoveend: THTMLOptionButtonElementEventsonmoveendEvent;
    Fonresizestart: THTMLOptionButtonElementEventsonresizestartEvent;
    Fonresizeend: THTMLOptionButtonElementEventsonresizeendEvent;
    Fonmouseenter: THTMLOptionButtonElementEventsonmouseenterEvent;
    Fonmouseleave: THTMLOptionButtonElementEventsonmouseleaveEvent;
    Fonmousewheel: THTMLOptionButtonElementEventsonmousewheelEvent;
    Fonactivate: THTMLOptionButtonElementEventsonactivateEvent;
    Fondeactivate: THTMLOptionButtonElementEventsondeactivateEvent;
    Fonfocusin: THTMLOptionButtonElementEventsonfocusinEvent;
    Fonfocusout: THTMLOptionButtonElementEventsonfocusoutEvent;
    Fonchange: THTMLOptionButtonElementEventsonchangeEvent;
    Fonselect: THTMLOptionButtonElementEventsonselectEvent;
    Fonload: THTMLOptionButtonElementEventsonloadEvent;
    Fonerror: THTMLOptionButtonElementEventsonerrorEvent;
    Fonabort: THTMLOptionButtonElementEventsonabortEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLOptionButtonElementEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLOptionButtonElementEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLOptionButtonElementEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLOptionButtonElementEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLOptionButtonElementEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLOptionButtonElementEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLOptionButtonElementEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLOptionButtonElementEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLOptionButtonElementEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLOptionButtonElementEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLOptionButtonElementEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLOptionButtonElementEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLOptionButtonElementEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLOptionButtonElementEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLOptionButtonElementEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLOptionButtonElementEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLOptionButtonElementEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLOptionButtonElementEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLOptionButtonElementEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLOptionButtonElementEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLOptionButtonElementEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLOptionButtonElementEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLOptionButtonElementEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLOptionButtonElementEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLOptionButtonElementEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLOptionButtonElementEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLOptionButtonElementEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLOptionButtonElementEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLOptionButtonElementEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLOptionButtonElementEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLOptionButtonElementEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLOptionButtonElementEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLOptionButtonElementEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLOptionButtonElementEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLOptionButtonElementEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLOptionButtonElementEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLOptionButtonElementEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLOptionButtonElementEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLOptionButtonElementEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLOptionButtonElementEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLOptionButtonElementEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLOptionButtonElementEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLOptionButtonElementEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLOptionButtonElementEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLOptionButtonElementEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLOptionButtonElementEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLOptionButtonElementEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLOptionButtonElementEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLOptionButtonElementEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLOptionButtonElementEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLOptionButtonElementEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLOptionButtonElementEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLOptionButtonElementEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLOptionButtonElementEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLOptionButtonElementEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLOptionButtonElementEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLOptionButtonElementEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLOptionButtonElementEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLOptionButtonElementEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLOptionButtonElementEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLOptionButtonElementEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLOptionButtonElementEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLOptionButtonElementEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onchange: THTMLOptionButtonElementEventsonchangeEvent read Fonchange write Fonchange;
    property onselect: THTMLOptionButtonElementEventsonselectEvent read Fonselect write Fonselect;
    property onload: THTMLOptionButtonElementEventsonloadEvent read Fonload write Fonload;
    property onerror: THTMLOptionButtonElementEventsonerrorEvent read Fonerror write Fonerror;
    property onabort: THTMLOptionButtonElementEventsonabortEvent read Fonabort write Fonabort;
  end;


  //SinkEventsForwards//
  THTMLButtonElementEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLButtonElementEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLButtonElementEventsonfocusoutEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLButtonElementEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLButtonElementEventsonhelpEvent;
    Fonclick: THTMLButtonElementEventsonclickEvent;
    Fondblclick: THTMLButtonElementEventsondblclickEvent;
    Fonkeypress: THTMLButtonElementEventsonkeypressEvent;
    Fonkeydown: THTMLButtonElementEventsonkeydownEvent;
    Fonkeyup: THTMLButtonElementEventsonkeyupEvent;
    Fonmouseout: THTMLButtonElementEventsonmouseoutEvent;
    Fonmouseover: THTMLButtonElementEventsonmouseoverEvent;
    Fonmousemove: THTMLButtonElementEventsonmousemoveEvent;
    Fonmousedown: THTMLButtonElementEventsonmousedownEvent;
    Fonmouseup: THTMLButtonElementEventsonmouseupEvent;
    Fonselectstart: THTMLButtonElementEventsonselectstartEvent;
    Fonfilterchange: THTMLButtonElementEventsonfilterchangeEvent;
    Fondragstart: THTMLButtonElementEventsondragstartEvent;
    Fonbeforeupdate: THTMLButtonElementEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLButtonElementEventsonafterupdateEvent;
    Fonerrorupdate: THTMLButtonElementEventsonerrorupdateEvent;
    Fonrowexit: THTMLButtonElementEventsonrowexitEvent;
    Fonrowenter: THTMLButtonElementEventsonrowenterEvent;
    Fondatasetchanged: THTMLButtonElementEventsondatasetchangedEvent;
    Fondataavailable: THTMLButtonElementEventsondataavailableEvent;
    Fondatasetcomplete: THTMLButtonElementEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLButtonElementEventsonlosecaptureEvent;
    Fonpropertychange: THTMLButtonElementEventsonpropertychangeEvent;
    Fonscroll: THTMLButtonElementEventsonscrollEvent;
    Fonfocus: THTMLButtonElementEventsonfocusEvent;
    Fonblur: THTMLButtonElementEventsonblurEvent;
    Fonresize: THTMLButtonElementEventsonresizeEvent;
    Fondrag: THTMLButtonElementEventsondragEvent;
    Fondragend: THTMLButtonElementEventsondragendEvent;
    Fondragenter: THTMLButtonElementEventsondragenterEvent;
    Fondragover: THTMLButtonElementEventsondragoverEvent;
    Fondragleave: THTMLButtonElementEventsondragleaveEvent;
    Fondrop: THTMLButtonElementEventsondropEvent;
    Fonbeforecut: THTMLButtonElementEventsonbeforecutEvent;
    Foncut: THTMLButtonElementEventsoncutEvent;
    Fonbeforecopy: THTMLButtonElementEventsonbeforecopyEvent;
    Foncopy: THTMLButtonElementEventsoncopyEvent;
    Fonbeforepaste: THTMLButtonElementEventsonbeforepasteEvent;
    Fonpaste: THTMLButtonElementEventsonpasteEvent;
    Foncontextmenu: THTMLButtonElementEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLButtonElementEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLButtonElementEventsonrowsinsertedEvent;
    Foncellchange: THTMLButtonElementEventsoncellchangeEvent;
    Fonreadystatechange: THTMLButtonElementEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLButtonElementEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLButtonElementEventsonlayoutcompleteEvent;
    Fonpage: THTMLButtonElementEventsonpageEvent;
    Fonbeforedeactivate: THTMLButtonElementEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLButtonElementEventsonbeforeactivateEvent;
    Fonmove: THTMLButtonElementEventsonmoveEvent;
    Foncontrolselect: THTMLButtonElementEventsoncontrolselectEvent;
    Fonmovestart: THTMLButtonElementEventsonmovestartEvent;
    Fonmoveend: THTMLButtonElementEventsonmoveendEvent;
    Fonresizestart: THTMLButtonElementEventsonresizestartEvent;
    Fonresizeend: THTMLButtonElementEventsonresizeendEvent;
    Fonmouseenter: THTMLButtonElementEventsonmouseenterEvent;
    Fonmouseleave: THTMLButtonElementEventsonmouseleaveEvent;
    Fonmousewheel: THTMLButtonElementEventsonmousewheelEvent;
    Fonactivate: THTMLButtonElementEventsonactivateEvent;
    Fondeactivate: THTMLButtonElementEventsondeactivateEvent;
    Fonfocusin: THTMLButtonElementEventsonfocusinEvent;
    Fonfocusout: THTMLButtonElementEventsonfocusoutEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLButtonElementEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLButtonElementEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLButtonElementEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLButtonElementEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLButtonElementEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLButtonElementEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLButtonElementEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLButtonElementEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLButtonElementEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLButtonElementEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLButtonElementEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLButtonElementEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLButtonElementEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLButtonElementEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLButtonElementEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLButtonElementEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLButtonElementEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLButtonElementEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLButtonElementEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLButtonElementEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLButtonElementEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLButtonElementEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLButtonElementEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLButtonElementEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLButtonElementEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLButtonElementEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLButtonElementEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLButtonElementEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLButtonElementEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLButtonElementEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLButtonElementEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLButtonElementEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLButtonElementEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLButtonElementEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLButtonElementEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLButtonElementEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLButtonElementEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLButtonElementEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLButtonElementEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLButtonElementEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLButtonElementEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLButtonElementEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLButtonElementEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLButtonElementEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLButtonElementEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLButtonElementEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLButtonElementEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLButtonElementEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLButtonElementEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLButtonElementEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLButtonElementEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLButtonElementEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLButtonElementEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLButtonElementEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLButtonElementEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLButtonElementEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLButtonElementEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLButtonElementEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLButtonElementEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLButtonElementEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLButtonElementEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLButtonElementEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLButtonElementEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
  end;


  //SinkEventsForwards//
  THTMLButtonElementEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLButtonElementEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLButtonElementEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;

  //SinkComponent//
  TMSHTMLHTMLButtonElementEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLButtonElementEvents2onhelpEvent;
    Fonclick: THTMLButtonElementEvents2onclickEvent;
    Fondblclick: THTMLButtonElementEvents2ondblclickEvent;
    Fonkeypress: THTMLButtonElementEvents2onkeypressEvent;
    Fonkeydown: THTMLButtonElementEvents2onkeydownEvent;
    Fonkeyup: THTMLButtonElementEvents2onkeyupEvent;
    Fonmouseout: THTMLButtonElementEvents2onmouseoutEvent;
    Fonmouseover: THTMLButtonElementEvents2onmouseoverEvent;
    Fonmousemove: THTMLButtonElementEvents2onmousemoveEvent;
    Fonmousedown: THTMLButtonElementEvents2onmousedownEvent;
    Fonmouseup: THTMLButtonElementEvents2onmouseupEvent;
    Fonselectstart: THTMLButtonElementEvents2onselectstartEvent;
    Fonfilterchange: THTMLButtonElementEvents2onfilterchangeEvent;
    Fondragstart: THTMLButtonElementEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLButtonElementEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLButtonElementEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLButtonElementEvents2onerrorupdateEvent;
    Fonrowexit: THTMLButtonElementEvents2onrowexitEvent;
    Fonrowenter: THTMLButtonElementEvents2onrowenterEvent;
    Fondatasetchanged: THTMLButtonElementEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLButtonElementEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLButtonElementEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLButtonElementEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLButtonElementEvents2onpropertychangeEvent;
    Fonscroll: THTMLButtonElementEvents2onscrollEvent;
    Fonfocus: THTMLButtonElementEvents2onfocusEvent;
    Fonblur: THTMLButtonElementEvents2onblurEvent;
    Fonresize: THTMLButtonElementEvents2onresizeEvent;
    Fondrag: THTMLButtonElementEvents2ondragEvent;
    Fondragend: THTMLButtonElementEvents2ondragendEvent;
    Fondragenter: THTMLButtonElementEvents2ondragenterEvent;
    Fondragover: THTMLButtonElementEvents2ondragoverEvent;
    Fondragleave: THTMLButtonElementEvents2ondragleaveEvent;
    Fondrop: THTMLButtonElementEvents2ondropEvent;
    Fonbeforecut: THTMLButtonElementEvents2onbeforecutEvent;
    Foncut: THTMLButtonElementEvents2oncutEvent;
    Fonbeforecopy: THTMLButtonElementEvents2onbeforecopyEvent;
    Foncopy: THTMLButtonElementEvents2oncopyEvent;
    Fonbeforepaste: THTMLButtonElementEvents2onbeforepasteEvent;
    Fonpaste: THTMLButtonElementEvents2onpasteEvent;
    Foncontextmenu: THTMLButtonElementEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLButtonElementEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLButtonElementEvents2onrowsinsertedEvent;
    Foncellchange: THTMLButtonElementEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLButtonElementEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLButtonElementEvents2onlayoutcompleteEvent;
    Fonpage: THTMLButtonElementEvents2onpageEvent;
    Fonmouseenter: THTMLButtonElementEvents2onmouseenterEvent;
    Fonmouseleave: THTMLButtonElementEvents2onmouseleaveEvent;
    Fonactivate: THTMLButtonElementEvents2onactivateEvent;
    Fondeactivate: THTMLButtonElementEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLButtonElementEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLButtonElementEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLButtonElementEvents2onfocusinEvent;
    Fonfocusout: THTMLButtonElementEvents2onfocusoutEvent;
    Fonmove: THTMLButtonElementEvents2onmoveEvent;
    Foncontrolselect: THTMLButtonElementEvents2oncontrolselectEvent;
    Fonmovestart: THTMLButtonElementEvents2onmovestartEvent;
    Fonmoveend: THTMLButtonElementEvents2onmoveendEvent;
    Fonresizestart: THTMLButtonElementEvents2onresizestartEvent;
    Fonresizeend: THTMLButtonElementEvents2onresizeendEvent;
    Fonmousewheel: THTMLButtonElementEvents2onmousewheelEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLButtonElementEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLButtonElementEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLButtonElementEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLButtonElementEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLButtonElementEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLButtonElementEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLButtonElementEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLButtonElementEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLButtonElementEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLButtonElementEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLButtonElementEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLButtonElementEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLButtonElementEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLButtonElementEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLButtonElementEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLButtonElementEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLButtonElementEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLButtonElementEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLButtonElementEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLButtonElementEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLButtonElementEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLButtonElementEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLButtonElementEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLButtonElementEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLButtonElementEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLButtonElementEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLButtonElementEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLButtonElementEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLButtonElementEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLButtonElementEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLButtonElementEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLButtonElementEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLButtonElementEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLButtonElementEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLButtonElementEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLButtonElementEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLButtonElementEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLButtonElementEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLButtonElementEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLButtonElementEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLButtonElementEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLButtonElementEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLButtonElementEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLButtonElementEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLButtonElementEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLButtonElementEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLButtonElementEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLButtonElementEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLButtonElementEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLButtonElementEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLButtonElementEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLButtonElementEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLButtonElementEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLButtonElementEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLButtonElementEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLButtonElementEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLButtonElementEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLButtonElementEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLButtonElementEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLButtonElementEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLButtonElementEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLButtonElementEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
  end;


  //SinkEventsForwards//
  THTMLMarqueeElementEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLMarqueeElementEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonchangeEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonselectEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonbounceEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonfinishEvent = procedure(Sender: TObject) of object;
  THTMLMarqueeElementEventsonstartEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLMarqueeElementEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    procedure Doonchange; safecall;
    procedure Doonselect; safecall;
    procedure Doonbounce; safecall;
    procedure Doonfinish; safecall;
    procedure Doonstart; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLMarqueeElementEventsonhelpEvent;
    Fonclick: THTMLMarqueeElementEventsonclickEvent;
    Fondblclick: THTMLMarqueeElementEventsondblclickEvent;
    Fonkeypress: THTMLMarqueeElementEventsonkeypressEvent;
    Fonkeydown: THTMLMarqueeElementEventsonkeydownEvent;
    Fonkeyup: THTMLMarqueeElementEventsonkeyupEvent;
    Fonmouseout: THTMLMarqueeElementEventsonmouseoutEvent;
    Fonmouseover: THTMLMarqueeElementEventsonmouseoverEvent;
    Fonmousemove: THTMLMarqueeElementEventsonmousemoveEvent;
    Fonmousedown: THTMLMarqueeElementEventsonmousedownEvent;
    Fonmouseup: THTMLMarqueeElementEventsonmouseupEvent;
    Fonselectstart: THTMLMarqueeElementEventsonselectstartEvent;
    Fonfilterchange: THTMLMarqueeElementEventsonfilterchangeEvent;
    Fondragstart: THTMLMarqueeElementEventsondragstartEvent;
    Fonbeforeupdate: THTMLMarqueeElementEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLMarqueeElementEventsonafterupdateEvent;
    Fonerrorupdate: THTMLMarqueeElementEventsonerrorupdateEvent;
    Fonrowexit: THTMLMarqueeElementEventsonrowexitEvent;
    Fonrowenter: THTMLMarqueeElementEventsonrowenterEvent;
    Fondatasetchanged: THTMLMarqueeElementEventsondatasetchangedEvent;
    Fondataavailable: THTMLMarqueeElementEventsondataavailableEvent;
    Fondatasetcomplete: THTMLMarqueeElementEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLMarqueeElementEventsonlosecaptureEvent;
    Fonpropertychange: THTMLMarqueeElementEventsonpropertychangeEvent;
    Fonscroll: THTMLMarqueeElementEventsonscrollEvent;
    Fonfocus: THTMLMarqueeElementEventsonfocusEvent;
    Fonblur: THTMLMarqueeElementEventsonblurEvent;
    Fonresize: THTMLMarqueeElementEventsonresizeEvent;
    Fondrag: THTMLMarqueeElementEventsondragEvent;
    Fondragend: THTMLMarqueeElementEventsondragendEvent;
    Fondragenter: THTMLMarqueeElementEventsondragenterEvent;
    Fondragover: THTMLMarqueeElementEventsondragoverEvent;
    Fondragleave: THTMLMarqueeElementEventsondragleaveEvent;
    Fondrop: THTMLMarqueeElementEventsondropEvent;
    Fonbeforecut: THTMLMarqueeElementEventsonbeforecutEvent;
    Foncut: THTMLMarqueeElementEventsoncutEvent;
    Fonbeforecopy: THTMLMarqueeElementEventsonbeforecopyEvent;
    Foncopy: THTMLMarqueeElementEventsoncopyEvent;
    Fonbeforepaste: THTMLMarqueeElementEventsonbeforepasteEvent;
    Fonpaste: THTMLMarqueeElementEventsonpasteEvent;
    Foncontextmenu: THTMLMarqueeElementEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLMarqueeElementEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLMarqueeElementEventsonrowsinsertedEvent;
    Foncellchange: THTMLMarqueeElementEventsoncellchangeEvent;
    Fonreadystatechange: THTMLMarqueeElementEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLMarqueeElementEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLMarqueeElementEventsonlayoutcompleteEvent;
    Fonpage: THTMLMarqueeElementEventsonpageEvent;
    Fonbeforedeactivate: THTMLMarqueeElementEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLMarqueeElementEventsonbeforeactivateEvent;
    Fonmove: THTMLMarqueeElementEventsonmoveEvent;
    Foncontrolselect: THTMLMarqueeElementEventsoncontrolselectEvent;
    Fonmovestart: THTMLMarqueeElementEventsonmovestartEvent;
    Fonmoveend: THTMLMarqueeElementEventsonmoveendEvent;
    Fonresizestart: THTMLMarqueeElementEventsonresizestartEvent;
    Fonresizeend: THTMLMarqueeElementEventsonresizeendEvent;
    Fonmouseenter: THTMLMarqueeElementEventsonmouseenterEvent;
    Fonmouseleave: THTMLMarqueeElementEventsonmouseleaveEvent;
    Fonmousewheel: THTMLMarqueeElementEventsonmousewheelEvent;
    Fonactivate: THTMLMarqueeElementEventsonactivateEvent;
    Fondeactivate: THTMLMarqueeElementEventsondeactivateEvent;
    Fonfocusin: THTMLMarqueeElementEventsonfocusinEvent;
    Fonfocusout: THTMLMarqueeElementEventsonfocusoutEvent;
    Fonchange: THTMLMarqueeElementEventsonchangeEvent;
    Fonselect: THTMLMarqueeElementEventsonselectEvent;
    Fonbounce: THTMLMarqueeElementEventsonbounceEvent;
    Fonfinish: THTMLMarqueeElementEventsonfinishEvent;
    Fonstart: THTMLMarqueeElementEventsonstartEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLMarqueeElementEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLMarqueeElementEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLMarqueeElementEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLMarqueeElementEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLMarqueeElementEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLMarqueeElementEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLMarqueeElementEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLMarqueeElementEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLMarqueeElementEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLMarqueeElementEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLMarqueeElementEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLMarqueeElementEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLMarqueeElementEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLMarqueeElementEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLMarqueeElementEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLMarqueeElementEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLMarqueeElementEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLMarqueeElementEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLMarqueeElementEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLMarqueeElementEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLMarqueeElementEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLMarqueeElementEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLMarqueeElementEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLMarqueeElementEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLMarqueeElementEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLMarqueeElementEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLMarqueeElementEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLMarqueeElementEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLMarqueeElementEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLMarqueeElementEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLMarqueeElementEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLMarqueeElementEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLMarqueeElementEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLMarqueeElementEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLMarqueeElementEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLMarqueeElementEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLMarqueeElementEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLMarqueeElementEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLMarqueeElementEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLMarqueeElementEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLMarqueeElementEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLMarqueeElementEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLMarqueeElementEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLMarqueeElementEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLMarqueeElementEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLMarqueeElementEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLMarqueeElementEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLMarqueeElementEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLMarqueeElementEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLMarqueeElementEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLMarqueeElementEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLMarqueeElementEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLMarqueeElementEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLMarqueeElementEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLMarqueeElementEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLMarqueeElementEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLMarqueeElementEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLMarqueeElementEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLMarqueeElementEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLMarqueeElementEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLMarqueeElementEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLMarqueeElementEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLMarqueeElementEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onchange: THTMLMarqueeElementEventsonchangeEvent read Fonchange write Fonchange;
    property onselect: THTMLMarqueeElementEventsonselectEvent read Fonselect write Fonselect;
    property onbounce: THTMLMarqueeElementEventsonbounceEvent read Fonbounce write Fonbounce;
    property onfinish: THTMLMarqueeElementEventsonfinishEvent read Fonfinish write Fonfinish;
    property onstart: THTMLMarqueeElementEventsonstartEvent read Fonstart write Fonstart;
  end;


  //SinkEventsForwards//
  THTMLMarqueeElementEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMarqueeElementEvents2onchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onselectEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onbounceEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onfinishEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMarqueeElementEvents2onstartEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;

  //SinkComponent//
  TMSHTMLHTMLMarqueeElementEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonselect(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonbounce(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfinish(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonstart(const pEvtObj: IHTMLEventObj); safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLMarqueeElementEvents2onhelpEvent;
    Fonclick: THTMLMarqueeElementEvents2onclickEvent;
    Fondblclick: THTMLMarqueeElementEvents2ondblclickEvent;
    Fonkeypress: THTMLMarqueeElementEvents2onkeypressEvent;
    Fonkeydown: THTMLMarqueeElementEvents2onkeydownEvent;
    Fonkeyup: THTMLMarqueeElementEvents2onkeyupEvent;
    Fonmouseout: THTMLMarqueeElementEvents2onmouseoutEvent;
    Fonmouseover: THTMLMarqueeElementEvents2onmouseoverEvent;
    Fonmousemove: THTMLMarqueeElementEvents2onmousemoveEvent;
    Fonmousedown: THTMLMarqueeElementEvents2onmousedownEvent;
    Fonmouseup: THTMLMarqueeElementEvents2onmouseupEvent;
    Fonselectstart: THTMLMarqueeElementEvents2onselectstartEvent;
    Fonfilterchange: THTMLMarqueeElementEvents2onfilterchangeEvent;
    Fondragstart: THTMLMarqueeElementEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLMarqueeElementEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLMarqueeElementEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLMarqueeElementEvents2onerrorupdateEvent;
    Fonrowexit: THTMLMarqueeElementEvents2onrowexitEvent;
    Fonrowenter: THTMLMarqueeElementEvents2onrowenterEvent;
    Fondatasetchanged: THTMLMarqueeElementEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLMarqueeElementEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLMarqueeElementEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLMarqueeElementEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLMarqueeElementEvents2onpropertychangeEvent;
    Fonscroll: THTMLMarqueeElementEvents2onscrollEvent;
    Fonfocus: THTMLMarqueeElementEvents2onfocusEvent;
    Fonblur: THTMLMarqueeElementEvents2onblurEvent;
    Fonresize: THTMLMarqueeElementEvents2onresizeEvent;
    Fondrag: THTMLMarqueeElementEvents2ondragEvent;
    Fondragend: THTMLMarqueeElementEvents2ondragendEvent;
    Fondragenter: THTMLMarqueeElementEvents2ondragenterEvent;
    Fondragover: THTMLMarqueeElementEvents2ondragoverEvent;
    Fondragleave: THTMLMarqueeElementEvents2ondragleaveEvent;
    Fondrop: THTMLMarqueeElementEvents2ondropEvent;
    Fonbeforecut: THTMLMarqueeElementEvents2onbeforecutEvent;
    Foncut: THTMLMarqueeElementEvents2oncutEvent;
    Fonbeforecopy: THTMLMarqueeElementEvents2onbeforecopyEvent;
    Foncopy: THTMLMarqueeElementEvents2oncopyEvent;
    Fonbeforepaste: THTMLMarqueeElementEvents2onbeforepasteEvent;
    Fonpaste: THTMLMarqueeElementEvents2onpasteEvent;
    Foncontextmenu: THTMLMarqueeElementEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLMarqueeElementEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLMarqueeElementEvents2onrowsinsertedEvent;
    Foncellchange: THTMLMarqueeElementEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLMarqueeElementEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLMarqueeElementEvents2onlayoutcompleteEvent;
    Fonpage: THTMLMarqueeElementEvents2onpageEvent;
    Fonmouseenter: THTMLMarqueeElementEvents2onmouseenterEvent;
    Fonmouseleave: THTMLMarqueeElementEvents2onmouseleaveEvent;
    Fonactivate: THTMLMarqueeElementEvents2onactivateEvent;
    Fondeactivate: THTMLMarqueeElementEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLMarqueeElementEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLMarqueeElementEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLMarqueeElementEvents2onfocusinEvent;
    Fonfocusout: THTMLMarqueeElementEvents2onfocusoutEvent;
    Fonmove: THTMLMarqueeElementEvents2onmoveEvent;
    Foncontrolselect: THTMLMarqueeElementEvents2oncontrolselectEvent;
    Fonmovestart: THTMLMarqueeElementEvents2onmovestartEvent;
    Fonmoveend: THTMLMarqueeElementEvents2onmoveendEvent;
    Fonresizestart: THTMLMarqueeElementEvents2onresizestartEvent;
    Fonresizeend: THTMLMarqueeElementEvents2onresizeendEvent;
    Fonmousewheel: THTMLMarqueeElementEvents2onmousewheelEvent;
    Fonchange: THTMLMarqueeElementEvents2onchangeEvent;
    Fonselect: THTMLMarqueeElementEvents2onselectEvent;
    Fonbounce: THTMLMarqueeElementEvents2onbounceEvent;
    Fonfinish: THTMLMarqueeElementEvents2onfinishEvent;
    Fonstart: THTMLMarqueeElementEvents2onstartEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLMarqueeElementEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLMarqueeElementEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLMarqueeElementEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLMarqueeElementEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLMarqueeElementEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLMarqueeElementEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLMarqueeElementEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLMarqueeElementEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLMarqueeElementEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLMarqueeElementEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLMarqueeElementEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLMarqueeElementEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLMarqueeElementEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLMarqueeElementEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLMarqueeElementEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLMarqueeElementEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLMarqueeElementEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLMarqueeElementEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLMarqueeElementEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLMarqueeElementEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLMarqueeElementEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLMarqueeElementEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLMarqueeElementEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLMarqueeElementEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLMarqueeElementEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLMarqueeElementEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLMarqueeElementEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLMarqueeElementEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLMarqueeElementEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLMarqueeElementEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLMarqueeElementEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLMarqueeElementEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLMarqueeElementEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLMarqueeElementEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLMarqueeElementEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLMarqueeElementEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLMarqueeElementEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLMarqueeElementEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLMarqueeElementEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLMarqueeElementEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLMarqueeElementEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLMarqueeElementEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLMarqueeElementEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLMarqueeElementEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLMarqueeElementEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLMarqueeElementEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLMarqueeElementEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLMarqueeElementEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLMarqueeElementEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLMarqueeElementEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLMarqueeElementEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLMarqueeElementEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLMarqueeElementEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLMarqueeElementEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLMarqueeElementEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLMarqueeElementEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLMarqueeElementEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLMarqueeElementEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLMarqueeElementEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLMarqueeElementEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLMarqueeElementEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLMarqueeElementEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onchange: THTMLMarqueeElementEvents2onchangeEvent read Fonchange write Fonchange;
    property onselect: THTMLMarqueeElementEvents2onselectEvent read Fonselect write Fonselect;
    property onbounce: THTMLMarqueeElementEvents2onbounceEvent read Fonbounce write Fonbounce;
    property onfinish: THTMLMarqueeElementEvents2onfinishEvent read Fonfinish write Fonfinish;
    property onstart: THTMLMarqueeElementEvents2onstartEvent read Fonstart write Fonstart;
  end;


  //SinkEventsForwards//
  THTMLWindowEventsonloadEvent = procedure(Sender: TObject) of object;
  THTMLWindowEventsonunloadEvent = procedure(Sender: TObject) of object;
  THTMLWindowEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLWindowEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLWindowEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLWindowEventsonerrorEvent = procedure(Sender: TObject; const description: WideString; const url: WideString; line: Integer) of object;
  THTMLWindowEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLWindowEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLWindowEventsonbeforeunloadEvent = procedure(Sender: TObject) of object;
  THTMLWindowEventsonbeforeprintEvent = procedure(Sender: TObject) of object;
  THTMLWindowEventsonafterprintEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLWindowEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    procedure Doonload; safecall;
    procedure Doonunload; safecall;
    function Doonhelp: WordBool; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonerror(const description: WideString; const url: WideString; line: Integer); safecall;
    procedure Doonresize; safecall;
    procedure Doonscroll; safecall;
    procedure Doonbeforeunload; safecall;
    procedure Doonbeforeprint; safecall;
    procedure Doonafterprint; safecall;
  protected
    //SinkEventsProtected//
    Fonload: THTMLWindowEventsonloadEvent;
    Fonunload: THTMLWindowEventsonunloadEvent;
    Fonhelp: THTMLWindowEventsonhelpEvent;
    Fonfocus: THTMLWindowEventsonfocusEvent;
    Fonblur: THTMLWindowEventsonblurEvent;
    Fonerror: THTMLWindowEventsonerrorEvent;
    Fonresize: THTMLWindowEventsonresizeEvent;
    Fonscroll: THTMLWindowEventsonscrollEvent;
    Fonbeforeunload: THTMLWindowEventsonbeforeunloadEvent;
    Fonbeforeprint: THTMLWindowEventsonbeforeprintEvent;
    Fonafterprint: THTMLWindowEventsonafterprintEvent;
  published
    //SinkEventsPublished//
    property onload: THTMLWindowEventsonloadEvent read Fonload write Fonload;
    property onunload: THTMLWindowEventsonunloadEvent read Fonunload write Fonunload;
    property onhelp: THTMLWindowEventsonhelpEvent read Fonhelp write Fonhelp;
    property onfocus: THTMLWindowEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLWindowEventsonblurEvent read Fonblur write Fonblur;
    property onerror: THTMLWindowEventsonerrorEvent read Fonerror write Fonerror;
    property onresize: THTMLWindowEventsonresizeEvent read Fonresize write Fonresize;
    property onscroll: THTMLWindowEventsonscrollEvent read Fonscroll write Fonscroll;
    property onbeforeunload: THTMLWindowEventsonbeforeunloadEvent read Fonbeforeunload write Fonbeforeunload;
    property onbeforeprint: THTMLWindowEventsonbeforeprintEvent read Fonbeforeprint write Fonbeforeprint;
    property onafterprint: THTMLWindowEventsonafterprintEvent read Fonafterprint write Fonafterprint;
  end;


  //SinkEventsForwards//
  THTMLWindowEvents2onloadEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLWindowEvents2onunloadEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLWindowEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLWindowEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLWindowEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLWindowEvents2onerrorEvent = procedure(Sender: TObject; const description: WideString; const url: WideString; line: Integer) of object;
  THTMLWindowEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLWindowEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLWindowEvents2onbeforeunloadEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLWindowEvents2onbeforeprintEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLWindowEvents2onafterprintEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;

  //SinkComponent//
  TMSHTMLHTMLWindowEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    procedure Doonload(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonunload(const pEvtObj: IHTMLEventObj); safecall;
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonerror(const description: WideString; const url: WideString; line: Integer); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonbeforeunload(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonbeforeprint(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonafterprint(const pEvtObj: IHTMLEventObj); safecall;
  protected
    //SinkEventsProtected//
    Fonload: THTMLWindowEvents2onloadEvent;
    Fonunload: THTMLWindowEvents2onunloadEvent;
    Fonhelp: THTMLWindowEvents2onhelpEvent;
    Fonfocus: THTMLWindowEvents2onfocusEvent;
    Fonblur: THTMLWindowEvents2onblurEvent;
    Fonerror: THTMLWindowEvents2onerrorEvent;
    Fonresize: THTMLWindowEvents2onresizeEvent;
    Fonscroll: THTMLWindowEvents2onscrollEvent;
    Fonbeforeunload: THTMLWindowEvents2onbeforeunloadEvent;
    Fonbeforeprint: THTMLWindowEvents2onbeforeprintEvent;
    Fonafterprint: THTMLWindowEvents2onafterprintEvent;
  published
    //SinkEventsPublished//
    property onload: THTMLWindowEvents2onloadEvent read Fonload write Fonload;
    property onunload: THTMLWindowEvents2onunloadEvent read Fonunload write Fonunload;
    property onhelp: THTMLWindowEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onfocus: THTMLWindowEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLWindowEvents2onblurEvent read Fonblur write Fonblur;
    property onerror: THTMLWindowEvents2onerrorEvent read Fonerror write Fonerror;
    property onresize: THTMLWindowEvents2onresizeEvent read Fonresize write Fonresize;
    property onscroll: THTMLWindowEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onbeforeunload: THTMLWindowEvents2onbeforeunloadEvent read Fonbeforeunload write Fonbeforeunload;
    property onbeforeprint: THTMLWindowEvents2onbeforeprintEvent read Fonbeforeprint write Fonbeforeprint;
    property onafterprint: THTMLWindowEvents2onafterprintEvent read Fonafterprint write Fonafterprint;
  end;


  //SinkEventsForwards//
  THTMLDocumentEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsonstopEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonselectionchangeEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLDocumentEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLDocumentEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;

  //SinkComponent//
  TMSHTMLHTMLDocumentEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmouseup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonreadystatechange; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonselectstart: WordBool; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    function Doonstop: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonselectionchange; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLDocumentEventsonhelpEvent;
    Fonclick: THTMLDocumentEventsonclickEvent;
    Fondblclick: THTMLDocumentEventsondblclickEvent;
    Fonkeydown: THTMLDocumentEventsonkeydownEvent;
    Fonkeyup: THTMLDocumentEventsonkeyupEvent;
    Fonkeypress: THTMLDocumentEventsonkeypressEvent;
    Fonmousedown: THTMLDocumentEventsonmousedownEvent;
    Fonmousemove: THTMLDocumentEventsonmousemoveEvent;
    Fonmouseup: THTMLDocumentEventsonmouseupEvent;
    Fonmouseout: THTMLDocumentEventsonmouseoutEvent;
    Fonmouseover: THTMLDocumentEventsonmouseoverEvent;
    Fonreadystatechange: THTMLDocumentEventsonreadystatechangeEvent;
    Fonbeforeupdate: THTMLDocumentEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLDocumentEventsonafterupdateEvent;
    Fonrowexit: THTMLDocumentEventsonrowexitEvent;
    Fonrowenter: THTMLDocumentEventsonrowenterEvent;
    Fondragstart: THTMLDocumentEventsondragstartEvent;
    Fonselectstart: THTMLDocumentEventsonselectstartEvent;
    Fonerrorupdate: THTMLDocumentEventsonerrorupdateEvent;
    Foncontextmenu: THTMLDocumentEventsoncontextmenuEvent;
    Fonstop: THTMLDocumentEventsonstopEvent;
    Fonrowsdelete: THTMLDocumentEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLDocumentEventsonrowsinsertedEvent;
    Foncellchange: THTMLDocumentEventsoncellchangeEvent;
    Fonpropertychange: THTMLDocumentEventsonpropertychangeEvent;
    Fondatasetchanged: THTMLDocumentEventsondatasetchangedEvent;
    Fondataavailable: THTMLDocumentEventsondataavailableEvent;
    Fondatasetcomplete: THTMLDocumentEventsondatasetcompleteEvent;
    Fonbeforeeditfocus: THTMLDocumentEventsonbeforeeditfocusEvent;
    Fonselectionchange: THTMLDocumentEventsonselectionchangeEvent;
    Foncontrolselect: THTMLDocumentEventsoncontrolselectEvent;
    Fonmousewheel: THTMLDocumentEventsonmousewheelEvent;
    Fonfocusin: THTMLDocumentEventsonfocusinEvent;
    Fonfocusout: THTMLDocumentEventsonfocusoutEvent;
    Fonactivate: THTMLDocumentEventsonactivateEvent;
    Fondeactivate: THTMLDocumentEventsondeactivateEvent;
    Fonbeforeactivate: THTMLDocumentEventsonbeforeactivateEvent;
    Fonbeforedeactivate: THTMLDocumentEventsonbeforedeactivateEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLDocumentEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLDocumentEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLDocumentEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeydown: THTMLDocumentEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLDocumentEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onkeypress: THTMLDocumentEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onmousedown: THTMLDocumentEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmousemove: THTMLDocumentEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmouseup: THTMLDocumentEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onmouseout: THTMLDocumentEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLDocumentEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onreadystatechange: THTMLDocumentEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeupdate: THTMLDocumentEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLDocumentEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onrowexit: THTMLDocumentEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLDocumentEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondragstart: THTMLDocumentEventsondragstartEvent read Fondragstart write Fondragstart;
    property onselectstart: THTMLDocumentEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onerrorupdate: THTMLDocumentEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property oncontextmenu: THTMLDocumentEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onstop: THTMLDocumentEventsonstopEvent read Fonstop write Fonstop;
    property onrowsdelete: THTMLDocumentEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLDocumentEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLDocumentEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onpropertychange: THTMLDocumentEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property ondatasetchanged: THTMLDocumentEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLDocumentEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLDocumentEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onbeforeeditfocus: THTMLDocumentEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onselectionchange: THTMLDocumentEventsonselectionchangeEvent read Fonselectionchange write Fonselectionchange;
    property oncontrolselect: THTMLDocumentEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmousewheel: THTMLDocumentEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onfocusin: THTMLDocumentEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLDocumentEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onactivate: THTMLDocumentEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLDocumentEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforeactivate: THTMLDocumentEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onbeforedeactivate: THTMLDocumentEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
  end;


  //SinkEventsForwards//
  THTMLDocumentEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2onstopEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onbeforeeditfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onselectionchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLDocumentEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLDocumentEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;

  //SinkComponent//
  TMSHTMLHTMLDocumentEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonstop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonbeforeeditfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonselectionchange(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLDocumentEvents2onhelpEvent;
    Fonclick: THTMLDocumentEvents2onclickEvent;
    Fondblclick: THTMLDocumentEvents2ondblclickEvent;
    Fonkeydown: THTMLDocumentEvents2onkeydownEvent;
    Fonkeyup: THTMLDocumentEvents2onkeyupEvent;
    Fonkeypress: THTMLDocumentEvents2onkeypressEvent;
    Fonmousedown: THTMLDocumentEvents2onmousedownEvent;
    Fonmousemove: THTMLDocumentEvents2onmousemoveEvent;
    Fonmouseup: THTMLDocumentEvents2onmouseupEvent;
    Fonmouseout: THTMLDocumentEvents2onmouseoutEvent;
    Fonmouseover: THTMLDocumentEvents2onmouseoverEvent;
    Fonreadystatechange: THTMLDocumentEvents2onreadystatechangeEvent;
    Fonbeforeupdate: THTMLDocumentEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLDocumentEvents2onafterupdateEvent;
    Fonrowexit: THTMLDocumentEvents2onrowexitEvent;
    Fonrowenter: THTMLDocumentEvents2onrowenterEvent;
    Fondragstart: THTMLDocumentEvents2ondragstartEvent;
    Fonselectstart: THTMLDocumentEvents2onselectstartEvent;
    Fonerrorupdate: THTMLDocumentEvents2onerrorupdateEvent;
    Foncontextmenu: THTMLDocumentEvents2oncontextmenuEvent;
    Fonstop: THTMLDocumentEvents2onstopEvent;
    Fonrowsdelete: THTMLDocumentEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLDocumentEvents2onrowsinsertedEvent;
    Foncellchange: THTMLDocumentEvents2oncellchangeEvent;
    Fonpropertychange: THTMLDocumentEvents2onpropertychangeEvent;
    Fondatasetchanged: THTMLDocumentEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLDocumentEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLDocumentEvents2ondatasetcompleteEvent;
    Fonbeforeeditfocus: THTMLDocumentEvents2onbeforeeditfocusEvent;
    Fonselectionchange: THTMLDocumentEvents2onselectionchangeEvent;
    Foncontrolselect: THTMLDocumentEvents2oncontrolselectEvent;
    Fonmousewheel: THTMLDocumentEvents2onmousewheelEvent;
    Fonfocusin: THTMLDocumentEvents2onfocusinEvent;
    Fonfocusout: THTMLDocumentEvents2onfocusoutEvent;
    Fonactivate: THTMLDocumentEvents2onactivateEvent;
    Fondeactivate: THTMLDocumentEvents2ondeactivateEvent;
    Fonbeforeactivate: THTMLDocumentEvents2onbeforeactivateEvent;
    Fonbeforedeactivate: THTMLDocumentEvents2onbeforedeactivateEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLDocumentEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLDocumentEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLDocumentEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeydown: THTMLDocumentEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLDocumentEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onkeypress: THTMLDocumentEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onmousedown: THTMLDocumentEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmousemove: THTMLDocumentEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmouseup: THTMLDocumentEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onmouseout: THTMLDocumentEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLDocumentEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onreadystatechange: THTMLDocumentEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeupdate: THTMLDocumentEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLDocumentEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onrowexit: THTMLDocumentEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLDocumentEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondragstart: THTMLDocumentEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onselectstart: THTMLDocumentEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onerrorupdate: THTMLDocumentEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property oncontextmenu: THTMLDocumentEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onstop: THTMLDocumentEvents2onstopEvent read Fonstop write Fonstop;
    property onrowsdelete: THTMLDocumentEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLDocumentEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLDocumentEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onpropertychange: THTMLDocumentEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property ondatasetchanged: THTMLDocumentEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLDocumentEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLDocumentEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onbeforeeditfocus: THTMLDocumentEvents2onbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onselectionchange: THTMLDocumentEvents2onselectionchangeEvent read Fonselectionchange write Fonselectionchange;
    property oncontrolselect: THTMLDocumentEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmousewheel: THTMLDocumentEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onfocusin: THTMLDocumentEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLDocumentEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onactivate: THTMLDocumentEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLDocumentEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforeactivate: THTMLDocumentEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onbeforedeactivate: THTMLDocumentEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
  end;


  //SinkEventsForwards//
  TDWebBridgeEventsonscriptleteventEvent = procedure(Sender: TObject; const name: WideString; eventData: OleVariant) of object;
  TDWebBridgeEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  TDWebBridgeEventsonclickEvent = function(Sender: TObject): WordBool of object;
  TDWebBridgeEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  TDWebBridgeEventsonkeydownEvent = procedure(Sender: TObject) of object;
  TDWebBridgeEventsonkeyupEvent = procedure(Sender: TObject) of object;
  TDWebBridgeEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  TDWebBridgeEventsonmousedownEvent = procedure(Sender: TObject) of object;
  TDWebBridgeEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  TDWebBridgeEventsonmouseupEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLDWebBridgeEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    procedure Doonscriptletevent(const name: WideString; eventData: OleVariant); safecall;
    procedure Doonreadystatechange; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmouseup; safecall;
  protected
    //SinkEventsProtected//
    Fonscriptletevent: TDWebBridgeEventsonscriptleteventEvent;
    Fonreadystatechange: TDWebBridgeEventsonreadystatechangeEvent;
    Fonclick: TDWebBridgeEventsonclickEvent;
    Fondblclick: TDWebBridgeEventsondblclickEvent;
    Fonkeydown: TDWebBridgeEventsonkeydownEvent;
    Fonkeyup: TDWebBridgeEventsonkeyupEvent;
    Fonkeypress: TDWebBridgeEventsonkeypressEvent;
    Fonmousedown: TDWebBridgeEventsonmousedownEvent;
    Fonmousemove: TDWebBridgeEventsonmousemoveEvent;
    Fonmouseup: TDWebBridgeEventsonmouseupEvent;
  published
    //SinkEventsPublished//
    property onscriptletevent: TDWebBridgeEventsonscriptleteventEvent read Fonscriptletevent write Fonscriptletevent;
    property onreadystatechange: TDWebBridgeEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onclick: TDWebBridgeEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: TDWebBridgeEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeydown: TDWebBridgeEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: TDWebBridgeEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onkeypress: TDWebBridgeEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onmousedown: TDWebBridgeEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmousemove: TDWebBridgeEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmouseup: TDWebBridgeEventsonmouseupEvent read Fonmouseup write Fonmouseup;
  end;


  //SinkEventsForwards//
  THTMLControlElementEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLControlElementEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLControlElementEventsonfocusoutEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLControlElementEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLControlElementEventsonhelpEvent;
    Fonclick: THTMLControlElementEventsonclickEvent;
    Fondblclick: THTMLControlElementEventsondblclickEvent;
    Fonkeypress: THTMLControlElementEventsonkeypressEvent;
    Fonkeydown: THTMLControlElementEventsonkeydownEvent;
    Fonkeyup: THTMLControlElementEventsonkeyupEvent;
    Fonmouseout: THTMLControlElementEventsonmouseoutEvent;
    Fonmouseover: THTMLControlElementEventsonmouseoverEvent;
    Fonmousemove: THTMLControlElementEventsonmousemoveEvent;
    Fonmousedown: THTMLControlElementEventsonmousedownEvent;
    Fonmouseup: THTMLControlElementEventsonmouseupEvent;
    Fonselectstart: THTMLControlElementEventsonselectstartEvent;
    Fonfilterchange: THTMLControlElementEventsonfilterchangeEvent;
    Fondragstart: THTMLControlElementEventsondragstartEvent;
    Fonbeforeupdate: THTMLControlElementEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLControlElementEventsonafterupdateEvent;
    Fonerrorupdate: THTMLControlElementEventsonerrorupdateEvent;
    Fonrowexit: THTMLControlElementEventsonrowexitEvent;
    Fonrowenter: THTMLControlElementEventsonrowenterEvent;
    Fondatasetchanged: THTMLControlElementEventsondatasetchangedEvent;
    Fondataavailable: THTMLControlElementEventsondataavailableEvent;
    Fondatasetcomplete: THTMLControlElementEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLControlElementEventsonlosecaptureEvent;
    Fonpropertychange: THTMLControlElementEventsonpropertychangeEvent;
    Fonscroll: THTMLControlElementEventsonscrollEvent;
    Fonfocus: THTMLControlElementEventsonfocusEvent;
    Fonblur: THTMLControlElementEventsonblurEvent;
    Fonresize: THTMLControlElementEventsonresizeEvent;
    Fondrag: THTMLControlElementEventsondragEvent;
    Fondragend: THTMLControlElementEventsondragendEvent;
    Fondragenter: THTMLControlElementEventsondragenterEvent;
    Fondragover: THTMLControlElementEventsondragoverEvent;
    Fondragleave: THTMLControlElementEventsondragleaveEvent;
    Fondrop: THTMLControlElementEventsondropEvent;
    Fonbeforecut: THTMLControlElementEventsonbeforecutEvent;
    Foncut: THTMLControlElementEventsoncutEvent;
    Fonbeforecopy: THTMLControlElementEventsonbeforecopyEvent;
    Foncopy: THTMLControlElementEventsoncopyEvent;
    Fonbeforepaste: THTMLControlElementEventsonbeforepasteEvent;
    Fonpaste: THTMLControlElementEventsonpasteEvent;
    Foncontextmenu: THTMLControlElementEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLControlElementEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLControlElementEventsonrowsinsertedEvent;
    Foncellchange: THTMLControlElementEventsoncellchangeEvent;
    Fonreadystatechange: THTMLControlElementEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLControlElementEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLControlElementEventsonlayoutcompleteEvent;
    Fonpage: THTMLControlElementEventsonpageEvent;
    Fonbeforedeactivate: THTMLControlElementEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLControlElementEventsonbeforeactivateEvent;
    Fonmove: THTMLControlElementEventsonmoveEvent;
    Foncontrolselect: THTMLControlElementEventsoncontrolselectEvent;
    Fonmovestart: THTMLControlElementEventsonmovestartEvent;
    Fonmoveend: THTMLControlElementEventsonmoveendEvent;
    Fonresizestart: THTMLControlElementEventsonresizestartEvent;
    Fonresizeend: THTMLControlElementEventsonresizeendEvent;
    Fonmouseenter: THTMLControlElementEventsonmouseenterEvent;
    Fonmouseleave: THTMLControlElementEventsonmouseleaveEvent;
    Fonmousewheel: THTMLControlElementEventsonmousewheelEvent;
    Fonactivate: THTMLControlElementEventsonactivateEvent;
    Fondeactivate: THTMLControlElementEventsondeactivateEvent;
    Fonfocusin: THTMLControlElementEventsonfocusinEvent;
    Fonfocusout: THTMLControlElementEventsonfocusoutEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLControlElementEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLControlElementEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLControlElementEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLControlElementEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLControlElementEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLControlElementEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLControlElementEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLControlElementEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLControlElementEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLControlElementEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLControlElementEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLControlElementEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLControlElementEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLControlElementEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLControlElementEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLControlElementEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLControlElementEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLControlElementEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLControlElementEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLControlElementEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLControlElementEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLControlElementEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLControlElementEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLControlElementEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLControlElementEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLControlElementEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLControlElementEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLControlElementEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLControlElementEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLControlElementEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLControlElementEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLControlElementEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLControlElementEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLControlElementEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLControlElementEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLControlElementEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLControlElementEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLControlElementEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLControlElementEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLControlElementEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLControlElementEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLControlElementEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLControlElementEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLControlElementEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLControlElementEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLControlElementEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLControlElementEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLControlElementEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLControlElementEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLControlElementEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLControlElementEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLControlElementEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLControlElementEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLControlElementEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLControlElementEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLControlElementEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLControlElementEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLControlElementEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLControlElementEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLControlElementEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLControlElementEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLControlElementEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLControlElementEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
  end;


  //SinkEventsForwards//
  THTMLControlElementEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLControlElementEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLControlElementEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;

  //SinkComponent//
  TMSHTMLHTMLControlElementEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLControlElementEvents2onhelpEvent;
    Fonclick: THTMLControlElementEvents2onclickEvent;
    Fondblclick: THTMLControlElementEvents2ondblclickEvent;
    Fonkeypress: THTMLControlElementEvents2onkeypressEvent;
    Fonkeydown: THTMLControlElementEvents2onkeydownEvent;
    Fonkeyup: THTMLControlElementEvents2onkeyupEvent;
    Fonmouseout: THTMLControlElementEvents2onmouseoutEvent;
    Fonmouseover: THTMLControlElementEvents2onmouseoverEvent;
    Fonmousemove: THTMLControlElementEvents2onmousemoveEvent;
    Fonmousedown: THTMLControlElementEvents2onmousedownEvent;
    Fonmouseup: THTMLControlElementEvents2onmouseupEvent;
    Fonselectstart: THTMLControlElementEvents2onselectstartEvent;
    Fonfilterchange: THTMLControlElementEvents2onfilterchangeEvent;
    Fondragstart: THTMLControlElementEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLControlElementEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLControlElementEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLControlElementEvents2onerrorupdateEvent;
    Fonrowexit: THTMLControlElementEvents2onrowexitEvent;
    Fonrowenter: THTMLControlElementEvents2onrowenterEvent;
    Fondatasetchanged: THTMLControlElementEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLControlElementEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLControlElementEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLControlElementEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLControlElementEvents2onpropertychangeEvent;
    Fonscroll: THTMLControlElementEvents2onscrollEvent;
    Fonfocus: THTMLControlElementEvents2onfocusEvent;
    Fonblur: THTMLControlElementEvents2onblurEvent;
    Fonresize: THTMLControlElementEvents2onresizeEvent;
    Fondrag: THTMLControlElementEvents2ondragEvent;
    Fondragend: THTMLControlElementEvents2ondragendEvent;
    Fondragenter: THTMLControlElementEvents2ondragenterEvent;
    Fondragover: THTMLControlElementEvents2ondragoverEvent;
    Fondragleave: THTMLControlElementEvents2ondragleaveEvent;
    Fondrop: THTMLControlElementEvents2ondropEvent;
    Fonbeforecut: THTMLControlElementEvents2onbeforecutEvent;
    Foncut: THTMLControlElementEvents2oncutEvent;
    Fonbeforecopy: THTMLControlElementEvents2onbeforecopyEvent;
    Foncopy: THTMLControlElementEvents2oncopyEvent;
    Fonbeforepaste: THTMLControlElementEvents2onbeforepasteEvent;
    Fonpaste: THTMLControlElementEvents2onpasteEvent;
    Foncontextmenu: THTMLControlElementEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLControlElementEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLControlElementEvents2onrowsinsertedEvent;
    Foncellchange: THTMLControlElementEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLControlElementEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLControlElementEvents2onlayoutcompleteEvent;
    Fonpage: THTMLControlElementEvents2onpageEvent;
    Fonmouseenter: THTMLControlElementEvents2onmouseenterEvent;
    Fonmouseleave: THTMLControlElementEvents2onmouseleaveEvent;
    Fonactivate: THTMLControlElementEvents2onactivateEvent;
    Fondeactivate: THTMLControlElementEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLControlElementEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLControlElementEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLControlElementEvents2onfocusinEvent;
    Fonfocusout: THTMLControlElementEvents2onfocusoutEvent;
    Fonmove: THTMLControlElementEvents2onmoveEvent;
    Foncontrolselect: THTMLControlElementEvents2oncontrolselectEvent;
    Fonmovestart: THTMLControlElementEvents2onmovestartEvent;
    Fonmoveend: THTMLControlElementEvents2onmoveendEvent;
    Fonresizestart: THTMLControlElementEvents2onresizestartEvent;
    Fonresizeend: THTMLControlElementEvents2onresizeendEvent;
    Fonmousewheel: THTMLControlElementEvents2onmousewheelEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLControlElementEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLControlElementEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLControlElementEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLControlElementEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLControlElementEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLControlElementEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLControlElementEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLControlElementEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLControlElementEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLControlElementEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLControlElementEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLControlElementEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLControlElementEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLControlElementEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLControlElementEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLControlElementEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLControlElementEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLControlElementEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLControlElementEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLControlElementEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLControlElementEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLControlElementEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLControlElementEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLControlElementEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLControlElementEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLControlElementEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLControlElementEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLControlElementEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLControlElementEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLControlElementEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLControlElementEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLControlElementEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLControlElementEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLControlElementEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLControlElementEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLControlElementEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLControlElementEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLControlElementEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLControlElementEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLControlElementEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLControlElementEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLControlElementEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLControlElementEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLControlElementEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLControlElementEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLControlElementEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLControlElementEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLControlElementEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLControlElementEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLControlElementEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLControlElementEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLControlElementEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLControlElementEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLControlElementEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLControlElementEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLControlElementEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLControlElementEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLControlElementEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLControlElementEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLControlElementEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLControlElementEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLControlElementEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
  end;


  //SinkEventsForwards//
  THTMLMapEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLMapEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLMapEventsonfocusoutEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLMapEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLMapEventsonhelpEvent;
    Fonclick: THTMLMapEventsonclickEvent;
    Fondblclick: THTMLMapEventsondblclickEvent;
    Fonkeypress: THTMLMapEventsonkeypressEvent;
    Fonkeydown: THTMLMapEventsonkeydownEvent;
    Fonkeyup: THTMLMapEventsonkeyupEvent;
    Fonmouseout: THTMLMapEventsonmouseoutEvent;
    Fonmouseover: THTMLMapEventsonmouseoverEvent;
    Fonmousemove: THTMLMapEventsonmousemoveEvent;
    Fonmousedown: THTMLMapEventsonmousedownEvent;
    Fonmouseup: THTMLMapEventsonmouseupEvent;
    Fonselectstart: THTMLMapEventsonselectstartEvent;
    Fonfilterchange: THTMLMapEventsonfilterchangeEvent;
    Fondragstart: THTMLMapEventsondragstartEvent;
    Fonbeforeupdate: THTMLMapEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLMapEventsonafterupdateEvent;
    Fonerrorupdate: THTMLMapEventsonerrorupdateEvent;
    Fonrowexit: THTMLMapEventsonrowexitEvent;
    Fonrowenter: THTMLMapEventsonrowenterEvent;
    Fondatasetchanged: THTMLMapEventsondatasetchangedEvent;
    Fondataavailable: THTMLMapEventsondataavailableEvent;
    Fondatasetcomplete: THTMLMapEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLMapEventsonlosecaptureEvent;
    Fonpropertychange: THTMLMapEventsonpropertychangeEvent;
    Fonscroll: THTMLMapEventsonscrollEvent;
    Fonfocus: THTMLMapEventsonfocusEvent;
    Fonblur: THTMLMapEventsonblurEvent;
    Fonresize: THTMLMapEventsonresizeEvent;
    Fondrag: THTMLMapEventsondragEvent;
    Fondragend: THTMLMapEventsondragendEvent;
    Fondragenter: THTMLMapEventsondragenterEvent;
    Fondragover: THTMLMapEventsondragoverEvent;
    Fondragleave: THTMLMapEventsondragleaveEvent;
    Fondrop: THTMLMapEventsondropEvent;
    Fonbeforecut: THTMLMapEventsonbeforecutEvent;
    Foncut: THTMLMapEventsoncutEvent;
    Fonbeforecopy: THTMLMapEventsonbeforecopyEvent;
    Foncopy: THTMLMapEventsoncopyEvent;
    Fonbeforepaste: THTMLMapEventsonbeforepasteEvent;
    Fonpaste: THTMLMapEventsonpasteEvent;
    Foncontextmenu: THTMLMapEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLMapEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLMapEventsonrowsinsertedEvent;
    Foncellchange: THTMLMapEventsoncellchangeEvent;
    Fonreadystatechange: THTMLMapEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLMapEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLMapEventsonlayoutcompleteEvent;
    Fonpage: THTMLMapEventsonpageEvent;
    Fonbeforedeactivate: THTMLMapEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLMapEventsonbeforeactivateEvent;
    Fonmove: THTMLMapEventsonmoveEvent;
    Foncontrolselect: THTMLMapEventsoncontrolselectEvent;
    Fonmovestart: THTMLMapEventsonmovestartEvent;
    Fonmoveend: THTMLMapEventsonmoveendEvent;
    Fonresizestart: THTMLMapEventsonresizestartEvent;
    Fonresizeend: THTMLMapEventsonresizeendEvent;
    Fonmouseenter: THTMLMapEventsonmouseenterEvent;
    Fonmouseleave: THTMLMapEventsonmouseleaveEvent;
    Fonmousewheel: THTMLMapEventsonmousewheelEvent;
    Fonactivate: THTMLMapEventsonactivateEvent;
    Fondeactivate: THTMLMapEventsondeactivateEvent;
    Fonfocusin: THTMLMapEventsonfocusinEvent;
    Fonfocusout: THTMLMapEventsonfocusoutEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLMapEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLMapEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLMapEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLMapEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLMapEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLMapEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLMapEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLMapEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLMapEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLMapEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLMapEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLMapEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLMapEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLMapEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLMapEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLMapEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLMapEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLMapEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLMapEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLMapEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLMapEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLMapEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLMapEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLMapEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLMapEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLMapEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLMapEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLMapEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLMapEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLMapEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLMapEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLMapEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLMapEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLMapEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLMapEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLMapEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLMapEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLMapEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLMapEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLMapEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLMapEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLMapEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLMapEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLMapEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLMapEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLMapEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLMapEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLMapEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLMapEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLMapEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLMapEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLMapEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLMapEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLMapEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLMapEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLMapEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLMapEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLMapEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLMapEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLMapEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLMapEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLMapEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLMapEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
  end;


  //SinkEventsForwards//
  THTMLMapEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLMapEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLMapEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;

  //SinkComponent//
  TMSHTMLHTMLMapEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLMapEvents2onhelpEvent;
    Fonclick: THTMLMapEvents2onclickEvent;
    Fondblclick: THTMLMapEvents2ondblclickEvent;
    Fonkeypress: THTMLMapEvents2onkeypressEvent;
    Fonkeydown: THTMLMapEvents2onkeydownEvent;
    Fonkeyup: THTMLMapEvents2onkeyupEvent;
    Fonmouseout: THTMLMapEvents2onmouseoutEvent;
    Fonmouseover: THTMLMapEvents2onmouseoverEvent;
    Fonmousemove: THTMLMapEvents2onmousemoveEvent;
    Fonmousedown: THTMLMapEvents2onmousedownEvent;
    Fonmouseup: THTMLMapEvents2onmouseupEvent;
    Fonselectstart: THTMLMapEvents2onselectstartEvent;
    Fonfilterchange: THTMLMapEvents2onfilterchangeEvent;
    Fondragstart: THTMLMapEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLMapEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLMapEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLMapEvents2onerrorupdateEvent;
    Fonrowexit: THTMLMapEvents2onrowexitEvent;
    Fonrowenter: THTMLMapEvents2onrowenterEvent;
    Fondatasetchanged: THTMLMapEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLMapEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLMapEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLMapEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLMapEvents2onpropertychangeEvent;
    Fonscroll: THTMLMapEvents2onscrollEvent;
    Fonfocus: THTMLMapEvents2onfocusEvent;
    Fonblur: THTMLMapEvents2onblurEvent;
    Fonresize: THTMLMapEvents2onresizeEvent;
    Fondrag: THTMLMapEvents2ondragEvent;
    Fondragend: THTMLMapEvents2ondragendEvent;
    Fondragenter: THTMLMapEvents2ondragenterEvent;
    Fondragover: THTMLMapEvents2ondragoverEvent;
    Fondragleave: THTMLMapEvents2ondragleaveEvent;
    Fondrop: THTMLMapEvents2ondropEvent;
    Fonbeforecut: THTMLMapEvents2onbeforecutEvent;
    Foncut: THTMLMapEvents2oncutEvent;
    Fonbeforecopy: THTMLMapEvents2onbeforecopyEvent;
    Foncopy: THTMLMapEvents2oncopyEvent;
    Fonbeforepaste: THTMLMapEvents2onbeforepasteEvent;
    Fonpaste: THTMLMapEvents2onpasteEvent;
    Foncontextmenu: THTMLMapEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLMapEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLMapEvents2onrowsinsertedEvent;
    Foncellchange: THTMLMapEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLMapEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLMapEvents2onlayoutcompleteEvent;
    Fonpage: THTMLMapEvents2onpageEvent;
    Fonmouseenter: THTMLMapEvents2onmouseenterEvent;
    Fonmouseleave: THTMLMapEvents2onmouseleaveEvent;
    Fonactivate: THTMLMapEvents2onactivateEvent;
    Fondeactivate: THTMLMapEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLMapEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLMapEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLMapEvents2onfocusinEvent;
    Fonfocusout: THTMLMapEvents2onfocusoutEvent;
    Fonmove: THTMLMapEvents2onmoveEvent;
    Foncontrolselect: THTMLMapEvents2oncontrolselectEvent;
    Fonmovestart: THTMLMapEvents2onmovestartEvent;
    Fonmoveend: THTMLMapEvents2onmoveendEvent;
    Fonresizestart: THTMLMapEvents2onresizestartEvent;
    Fonresizeend: THTMLMapEvents2onresizeendEvent;
    Fonmousewheel: THTMLMapEvents2onmousewheelEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLMapEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLMapEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLMapEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLMapEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLMapEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLMapEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLMapEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLMapEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLMapEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLMapEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLMapEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLMapEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLMapEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLMapEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLMapEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLMapEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLMapEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLMapEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLMapEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLMapEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLMapEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLMapEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLMapEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLMapEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLMapEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLMapEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLMapEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLMapEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLMapEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLMapEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLMapEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLMapEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLMapEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLMapEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLMapEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLMapEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLMapEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLMapEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLMapEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLMapEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLMapEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLMapEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLMapEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLMapEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLMapEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLMapEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLMapEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLMapEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLMapEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLMapEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLMapEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLMapEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLMapEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLMapEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLMapEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLMapEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLMapEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLMapEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLMapEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLMapEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLMapEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLMapEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
  end;


  //SinkEventsForwards//
  THTMLAreaEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLAreaEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLAreaEventsonfocusoutEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLAreaEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLAreaEventsonhelpEvent;
    Fonclick: THTMLAreaEventsonclickEvent;
    Fondblclick: THTMLAreaEventsondblclickEvent;
    Fonkeypress: THTMLAreaEventsonkeypressEvent;
    Fonkeydown: THTMLAreaEventsonkeydownEvent;
    Fonkeyup: THTMLAreaEventsonkeyupEvent;
    Fonmouseout: THTMLAreaEventsonmouseoutEvent;
    Fonmouseover: THTMLAreaEventsonmouseoverEvent;
    Fonmousemove: THTMLAreaEventsonmousemoveEvent;
    Fonmousedown: THTMLAreaEventsonmousedownEvent;
    Fonmouseup: THTMLAreaEventsonmouseupEvent;
    Fonselectstart: THTMLAreaEventsonselectstartEvent;
    Fonfilterchange: THTMLAreaEventsonfilterchangeEvent;
    Fondragstart: THTMLAreaEventsondragstartEvent;
    Fonbeforeupdate: THTMLAreaEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLAreaEventsonafterupdateEvent;
    Fonerrorupdate: THTMLAreaEventsonerrorupdateEvent;
    Fonrowexit: THTMLAreaEventsonrowexitEvent;
    Fonrowenter: THTMLAreaEventsonrowenterEvent;
    Fondatasetchanged: THTMLAreaEventsondatasetchangedEvent;
    Fondataavailable: THTMLAreaEventsondataavailableEvent;
    Fondatasetcomplete: THTMLAreaEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLAreaEventsonlosecaptureEvent;
    Fonpropertychange: THTMLAreaEventsonpropertychangeEvent;
    Fonscroll: THTMLAreaEventsonscrollEvent;
    Fonfocus: THTMLAreaEventsonfocusEvent;
    Fonblur: THTMLAreaEventsonblurEvent;
    Fonresize: THTMLAreaEventsonresizeEvent;
    Fondrag: THTMLAreaEventsondragEvent;
    Fondragend: THTMLAreaEventsondragendEvent;
    Fondragenter: THTMLAreaEventsondragenterEvent;
    Fondragover: THTMLAreaEventsondragoverEvent;
    Fondragleave: THTMLAreaEventsondragleaveEvent;
    Fondrop: THTMLAreaEventsondropEvent;
    Fonbeforecut: THTMLAreaEventsonbeforecutEvent;
    Foncut: THTMLAreaEventsoncutEvent;
    Fonbeforecopy: THTMLAreaEventsonbeforecopyEvent;
    Foncopy: THTMLAreaEventsoncopyEvent;
    Fonbeforepaste: THTMLAreaEventsonbeforepasteEvent;
    Fonpaste: THTMLAreaEventsonpasteEvent;
    Foncontextmenu: THTMLAreaEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLAreaEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLAreaEventsonrowsinsertedEvent;
    Foncellchange: THTMLAreaEventsoncellchangeEvent;
    Fonreadystatechange: THTMLAreaEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLAreaEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLAreaEventsonlayoutcompleteEvent;
    Fonpage: THTMLAreaEventsonpageEvent;
    Fonbeforedeactivate: THTMLAreaEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLAreaEventsonbeforeactivateEvent;
    Fonmove: THTMLAreaEventsonmoveEvent;
    Foncontrolselect: THTMLAreaEventsoncontrolselectEvent;
    Fonmovestart: THTMLAreaEventsonmovestartEvent;
    Fonmoveend: THTMLAreaEventsonmoveendEvent;
    Fonresizestart: THTMLAreaEventsonresizestartEvent;
    Fonresizeend: THTMLAreaEventsonresizeendEvent;
    Fonmouseenter: THTMLAreaEventsonmouseenterEvent;
    Fonmouseleave: THTMLAreaEventsonmouseleaveEvent;
    Fonmousewheel: THTMLAreaEventsonmousewheelEvent;
    Fonactivate: THTMLAreaEventsonactivateEvent;
    Fondeactivate: THTMLAreaEventsondeactivateEvent;
    Fonfocusin: THTMLAreaEventsonfocusinEvent;
    Fonfocusout: THTMLAreaEventsonfocusoutEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLAreaEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLAreaEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLAreaEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLAreaEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLAreaEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLAreaEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLAreaEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLAreaEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLAreaEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLAreaEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLAreaEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLAreaEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLAreaEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLAreaEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLAreaEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLAreaEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLAreaEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLAreaEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLAreaEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLAreaEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLAreaEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLAreaEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLAreaEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLAreaEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLAreaEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLAreaEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLAreaEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLAreaEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLAreaEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLAreaEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLAreaEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLAreaEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLAreaEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLAreaEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLAreaEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLAreaEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLAreaEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLAreaEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLAreaEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLAreaEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLAreaEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLAreaEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLAreaEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLAreaEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLAreaEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLAreaEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLAreaEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLAreaEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLAreaEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLAreaEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLAreaEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLAreaEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLAreaEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLAreaEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLAreaEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLAreaEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLAreaEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLAreaEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLAreaEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLAreaEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLAreaEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLAreaEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLAreaEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
  end;


  //SinkEventsForwards//
  THTMLAreaEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLAreaEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLAreaEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;

  //SinkComponent//
  TMSHTMLHTMLAreaEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLAreaEvents2onhelpEvent;
    Fonclick: THTMLAreaEvents2onclickEvent;
    Fondblclick: THTMLAreaEvents2ondblclickEvent;
    Fonkeypress: THTMLAreaEvents2onkeypressEvent;
    Fonkeydown: THTMLAreaEvents2onkeydownEvent;
    Fonkeyup: THTMLAreaEvents2onkeyupEvent;
    Fonmouseout: THTMLAreaEvents2onmouseoutEvent;
    Fonmouseover: THTMLAreaEvents2onmouseoverEvent;
    Fonmousemove: THTMLAreaEvents2onmousemoveEvent;
    Fonmousedown: THTMLAreaEvents2onmousedownEvent;
    Fonmouseup: THTMLAreaEvents2onmouseupEvent;
    Fonselectstart: THTMLAreaEvents2onselectstartEvent;
    Fonfilterchange: THTMLAreaEvents2onfilterchangeEvent;
    Fondragstart: THTMLAreaEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLAreaEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLAreaEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLAreaEvents2onerrorupdateEvent;
    Fonrowexit: THTMLAreaEvents2onrowexitEvent;
    Fonrowenter: THTMLAreaEvents2onrowenterEvent;
    Fondatasetchanged: THTMLAreaEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLAreaEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLAreaEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLAreaEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLAreaEvents2onpropertychangeEvent;
    Fonscroll: THTMLAreaEvents2onscrollEvent;
    Fonfocus: THTMLAreaEvents2onfocusEvent;
    Fonblur: THTMLAreaEvents2onblurEvent;
    Fonresize: THTMLAreaEvents2onresizeEvent;
    Fondrag: THTMLAreaEvents2ondragEvent;
    Fondragend: THTMLAreaEvents2ondragendEvent;
    Fondragenter: THTMLAreaEvents2ondragenterEvent;
    Fondragover: THTMLAreaEvents2ondragoverEvent;
    Fondragleave: THTMLAreaEvents2ondragleaveEvent;
    Fondrop: THTMLAreaEvents2ondropEvent;
    Fonbeforecut: THTMLAreaEvents2onbeforecutEvent;
    Foncut: THTMLAreaEvents2oncutEvent;
    Fonbeforecopy: THTMLAreaEvents2onbeforecopyEvent;
    Foncopy: THTMLAreaEvents2oncopyEvent;
    Fonbeforepaste: THTMLAreaEvents2onbeforepasteEvent;
    Fonpaste: THTMLAreaEvents2onpasteEvent;
    Foncontextmenu: THTMLAreaEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLAreaEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLAreaEvents2onrowsinsertedEvent;
    Foncellchange: THTMLAreaEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLAreaEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLAreaEvents2onlayoutcompleteEvent;
    Fonpage: THTMLAreaEvents2onpageEvent;
    Fonmouseenter: THTMLAreaEvents2onmouseenterEvent;
    Fonmouseleave: THTMLAreaEvents2onmouseleaveEvent;
    Fonactivate: THTMLAreaEvents2onactivateEvent;
    Fondeactivate: THTMLAreaEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLAreaEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLAreaEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLAreaEvents2onfocusinEvent;
    Fonfocusout: THTMLAreaEvents2onfocusoutEvent;
    Fonmove: THTMLAreaEvents2onmoveEvent;
    Foncontrolselect: THTMLAreaEvents2oncontrolselectEvent;
    Fonmovestart: THTMLAreaEvents2onmovestartEvent;
    Fonmoveend: THTMLAreaEvents2onmoveendEvent;
    Fonresizestart: THTMLAreaEvents2onresizestartEvent;
    Fonresizeend: THTMLAreaEvents2onresizeendEvent;
    Fonmousewheel: THTMLAreaEvents2onmousewheelEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLAreaEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLAreaEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLAreaEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLAreaEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLAreaEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLAreaEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLAreaEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLAreaEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLAreaEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLAreaEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLAreaEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLAreaEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLAreaEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLAreaEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLAreaEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLAreaEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLAreaEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLAreaEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLAreaEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLAreaEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLAreaEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLAreaEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLAreaEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLAreaEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLAreaEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLAreaEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLAreaEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLAreaEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLAreaEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLAreaEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLAreaEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLAreaEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLAreaEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLAreaEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLAreaEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLAreaEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLAreaEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLAreaEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLAreaEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLAreaEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLAreaEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLAreaEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLAreaEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLAreaEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLAreaEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLAreaEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLAreaEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLAreaEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLAreaEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLAreaEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLAreaEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLAreaEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLAreaEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLAreaEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLAreaEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLAreaEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLAreaEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLAreaEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLAreaEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLAreaEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLAreaEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLAreaEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
  end;


  //SinkEventsForwards//
  THTMLTableEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLTableEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLTableEventsonfocusoutEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLTableEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLTableEventsonhelpEvent;
    Fonclick: THTMLTableEventsonclickEvent;
    Fondblclick: THTMLTableEventsondblclickEvent;
    Fonkeypress: THTMLTableEventsonkeypressEvent;
    Fonkeydown: THTMLTableEventsonkeydownEvent;
    Fonkeyup: THTMLTableEventsonkeyupEvent;
    Fonmouseout: THTMLTableEventsonmouseoutEvent;
    Fonmouseover: THTMLTableEventsonmouseoverEvent;
    Fonmousemove: THTMLTableEventsonmousemoveEvent;
    Fonmousedown: THTMLTableEventsonmousedownEvent;
    Fonmouseup: THTMLTableEventsonmouseupEvent;
    Fonselectstart: THTMLTableEventsonselectstartEvent;
    Fonfilterchange: THTMLTableEventsonfilterchangeEvent;
    Fondragstart: THTMLTableEventsondragstartEvent;
    Fonbeforeupdate: THTMLTableEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLTableEventsonafterupdateEvent;
    Fonerrorupdate: THTMLTableEventsonerrorupdateEvent;
    Fonrowexit: THTMLTableEventsonrowexitEvent;
    Fonrowenter: THTMLTableEventsonrowenterEvent;
    Fondatasetchanged: THTMLTableEventsondatasetchangedEvent;
    Fondataavailable: THTMLTableEventsondataavailableEvent;
    Fondatasetcomplete: THTMLTableEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLTableEventsonlosecaptureEvent;
    Fonpropertychange: THTMLTableEventsonpropertychangeEvent;
    Fonscroll: THTMLTableEventsonscrollEvent;
    Fonfocus: THTMLTableEventsonfocusEvent;
    Fonblur: THTMLTableEventsonblurEvent;
    Fonresize: THTMLTableEventsonresizeEvent;
    Fondrag: THTMLTableEventsondragEvent;
    Fondragend: THTMLTableEventsondragendEvent;
    Fondragenter: THTMLTableEventsondragenterEvent;
    Fondragover: THTMLTableEventsondragoverEvent;
    Fondragleave: THTMLTableEventsondragleaveEvent;
    Fondrop: THTMLTableEventsondropEvent;
    Fonbeforecut: THTMLTableEventsonbeforecutEvent;
    Foncut: THTMLTableEventsoncutEvent;
    Fonbeforecopy: THTMLTableEventsonbeforecopyEvent;
    Foncopy: THTMLTableEventsoncopyEvent;
    Fonbeforepaste: THTMLTableEventsonbeforepasteEvent;
    Fonpaste: THTMLTableEventsonpasteEvent;
    Foncontextmenu: THTMLTableEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLTableEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLTableEventsonrowsinsertedEvent;
    Foncellchange: THTMLTableEventsoncellchangeEvent;
    Fonreadystatechange: THTMLTableEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLTableEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLTableEventsonlayoutcompleteEvent;
    Fonpage: THTMLTableEventsonpageEvent;
    Fonbeforedeactivate: THTMLTableEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLTableEventsonbeforeactivateEvent;
    Fonmove: THTMLTableEventsonmoveEvent;
    Foncontrolselect: THTMLTableEventsoncontrolselectEvent;
    Fonmovestart: THTMLTableEventsonmovestartEvent;
    Fonmoveend: THTMLTableEventsonmoveendEvent;
    Fonresizestart: THTMLTableEventsonresizestartEvent;
    Fonresizeend: THTMLTableEventsonresizeendEvent;
    Fonmouseenter: THTMLTableEventsonmouseenterEvent;
    Fonmouseleave: THTMLTableEventsonmouseleaveEvent;
    Fonmousewheel: THTMLTableEventsonmousewheelEvent;
    Fonactivate: THTMLTableEventsonactivateEvent;
    Fondeactivate: THTMLTableEventsondeactivateEvent;
    Fonfocusin: THTMLTableEventsonfocusinEvent;
    Fonfocusout: THTMLTableEventsonfocusoutEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLTableEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLTableEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLTableEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLTableEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLTableEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLTableEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLTableEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLTableEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLTableEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLTableEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLTableEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLTableEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLTableEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLTableEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLTableEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLTableEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLTableEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLTableEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLTableEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLTableEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLTableEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLTableEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLTableEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLTableEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLTableEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLTableEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLTableEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLTableEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLTableEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLTableEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLTableEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLTableEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLTableEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLTableEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLTableEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLTableEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLTableEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLTableEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLTableEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLTableEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLTableEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLTableEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLTableEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLTableEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLTableEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLTableEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLTableEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLTableEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLTableEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLTableEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLTableEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLTableEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLTableEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLTableEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLTableEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLTableEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLTableEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLTableEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLTableEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLTableEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLTableEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLTableEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLTableEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
  end;


  //SinkEventsForwards//
  THTMLTableEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLTableEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLTableEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;

  //SinkComponent//
  TMSHTMLHTMLTableEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLTableEvents2onhelpEvent;
    Fonclick: THTMLTableEvents2onclickEvent;
    Fondblclick: THTMLTableEvents2ondblclickEvent;
    Fonkeypress: THTMLTableEvents2onkeypressEvent;
    Fonkeydown: THTMLTableEvents2onkeydownEvent;
    Fonkeyup: THTMLTableEvents2onkeyupEvent;
    Fonmouseout: THTMLTableEvents2onmouseoutEvent;
    Fonmouseover: THTMLTableEvents2onmouseoverEvent;
    Fonmousemove: THTMLTableEvents2onmousemoveEvent;
    Fonmousedown: THTMLTableEvents2onmousedownEvent;
    Fonmouseup: THTMLTableEvents2onmouseupEvent;
    Fonselectstart: THTMLTableEvents2onselectstartEvent;
    Fonfilterchange: THTMLTableEvents2onfilterchangeEvent;
    Fondragstart: THTMLTableEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLTableEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLTableEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLTableEvents2onerrorupdateEvent;
    Fonrowexit: THTMLTableEvents2onrowexitEvent;
    Fonrowenter: THTMLTableEvents2onrowenterEvent;
    Fondatasetchanged: THTMLTableEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLTableEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLTableEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLTableEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLTableEvents2onpropertychangeEvent;
    Fonscroll: THTMLTableEvents2onscrollEvent;
    Fonfocus: THTMLTableEvents2onfocusEvent;
    Fonblur: THTMLTableEvents2onblurEvent;
    Fonresize: THTMLTableEvents2onresizeEvent;
    Fondrag: THTMLTableEvents2ondragEvent;
    Fondragend: THTMLTableEvents2ondragendEvent;
    Fondragenter: THTMLTableEvents2ondragenterEvent;
    Fondragover: THTMLTableEvents2ondragoverEvent;
    Fondragleave: THTMLTableEvents2ondragleaveEvent;
    Fondrop: THTMLTableEvents2ondropEvent;
    Fonbeforecut: THTMLTableEvents2onbeforecutEvent;
    Foncut: THTMLTableEvents2oncutEvent;
    Fonbeforecopy: THTMLTableEvents2onbeforecopyEvent;
    Foncopy: THTMLTableEvents2oncopyEvent;
    Fonbeforepaste: THTMLTableEvents2onbeforepasteEvent;
    Fonpaste: THTMLTableEvents2onpasteEvent;
    Foncontextmenu: THTMLTableEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLTableEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLTableEvents2onrowsinsertedEvent;
    Foncellchange: THTMLTableEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLTableEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLTableEvents2onlayoutcompleteEvent;
    Fonpage: THTMLTableEvents2onpageEvent;
    Fonmouseenter: THTMLTableEvents2onmouseenterEvent;
    Fonmouseleave: THTMLTableEvents2onmouseleaveEvent;
    Fonactivate: THTMLTableEvents2onactivateEvent;
    Fondeactivate: THTMLTableEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLTableEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLTableEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLTableEvents2onfocusinEvent;
    Fonfocusout: THTMLTableEvents2onfocusoutEvent;
    Fonmove: THTMLTableEvents2onmoveEvent;
    Foncontrolselect: THTMLTableEvents2oncontrolselectEvent;
    Fonmovestart: THTMLTableEvents2onmovestartEvent;
    Fonmoveend: THTMLTableEvents2onmoveendEvent;
    Fonresizestart: THTMLTableEvents2onresizestartEvent;
    Fonresizeend: THTMLTableEvents2onresizeendEvent;
    Fonmousewheel: THTMLTableEvents2onmousewheelEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLTableEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLTableEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLTableEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLTableEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLTableEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLTableEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLTableEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLTableEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLTableEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLTableEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLTableEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLTableEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLTableEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLTableEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLTableEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLTableEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLTableEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLTableEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLTableEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLTableEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLTableEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLTableEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLTableEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLTableEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLTableEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLTableEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLTableEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLTableEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLTableEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLTableEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLTableEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLTableEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLTableEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLTableEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLTableEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLTableEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLTableEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLTableEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLTableEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLTableEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLTableEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLTableEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLTableEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLTableEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLTableEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLTableEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLTableEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLTableEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLTableEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLTableEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLTableEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLTableEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLTableEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLTableEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLTableEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLTableEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLTableEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLTableEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLTableEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLTableEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLTableEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLTableEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
  end;


  //SinkEventsForwards//
  THTMLScriptEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLScriptEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLScriptEventsonerrorEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLScriptEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    procedure Doonerror; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLScriptEventsonhelpEvent;
    Fonclick: THTMLScriptEventsonclickEvent;
    Fondblclick: THTMLScriptEventsondblclickEvent;
    Fonkeypress: THTMLScriptEventsonkeypressEvent;
    Fonkeydown: THTMLScriptEventsonkeydownEvent;
    Fonkeyup: THTMLScriptEventsonkeyupEvent;
    Fonmouseout: THTMLScriptEventsonmouseoutEvent;
    Fonmouseover: THTMLScriptEventsonmouseoverEvent;
    Fonmousemove: THTMLScriptEventsonmousemoveEvent;
    Fonmousedown: THTMLScriptEventsonmousedownEvent;
    Fonmouseup: THTMLScriptEventsonmouseupEvent;
    Fonselectstart: THTMLScriptEventsonselectstartEvent;
    Fonfilterchange: THTMLScriptEventsonfilterchangeEvent;
    Fondragstart: THTMLScriptEventsondragstartEvent;
    Fonbeforeupdate: THTMLScriptEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLScriptEventsonafterupdateEvent;
    Fonerrorupdate: THTMLScriptEventsonerrorupdateEvent;
    Fonrowexit: THTMLScriptEventsonrowexitEvent;
    Fonrowenter: THTMLScriptEventsonrowenterEvent;
    Fondatasetchanged: THTMLScriptEventsondatasetchangedEvent;
    Fondataavailable: THTMLScriptEventsondataavailableEvent;
    Fondatasetcomplete: THTMLScriptEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLScriptEventsonlosecaptureEvent;
    Fonpropertychange: THTMLScriptEventsonpropertychangeEvent;
    Fonscroll: THTMLScriptEventsonscrollEvent;
    Fonfocus: THTMLScriptEventsonfocusEvent;
    Fonblur: THTMLScriptEventsonblurEvent;
    Fonresize: THTMLScriptEventsonresizeEvent;
    Fondrag: THTMLScriptEventsondragEvent;
    Fondragend: THTMLScriptEventsondragendEvent;
    Fondragenter: THTMLScriptEventsondragenterEvent;
    Fondragover: THTMLScriptEventsondragoverEvent;
    Fondragleave: THTMLScriptEventsondragleaveEvent;
    Fondrop: THTMLScriptEventsondropEvent;
    Fonbeforecut: THTMLScriptEventsonbeforecutEvent;
    Foncut: THTMLScriptEventsoncutEvent;
    Fonbeforecopy: THTMLScriptEventsonbeforecopyEvent;
    Foncopy: THTMLScriptEventsoncopyEvent;
    Fonbeforepaste: THTMLScriptEventsonbeforepasteEvent;
    Fonpaste: THTMLScriptEventsonpasteEvent;
    Foncontextmenu: THTMLScriptEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLScriptEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLScriptEventsonrowsinsertedEvent;
    Foncellchange: THTMLScriptEventsoncellchangeEvent;
    Fonreadystatechange: THTMLScriptEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLScriptEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLScriptEventsonlayoutcompleteEvent;
    Fonpage: THTMLScriptEventsonpageEvent;
    Fonbeforedeactivate: THTMLScriptEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLScriptEventsonbeforeactivateEvent;
    Fonmove: THTMLScriptEventsonmoveEvent;
    Foncontrolselect: THTMLScriptEventsoncontrolselectEvent;
    Fonmovestart: THTMLScriptEventsonmovestartEvent;
    Fonmoveend: THTMLScriptEventsonmoveendEvent;
    Fonresizestart: THTMLScriptEventsonresizestartEvent;
    Fonresizeend: THTMLScriptEventsonresizeendEvent;
    Fonmouseenter: THTMLScriptEventsonmouseenterEvent;
    Fonmouseleave: THTMLScriptEventsonmouseleaveEvent;
    Fonmousewheel: THTMLScriptEventsonmousewheelEvent;
    Fonactivate: THTMLScriptEventsonactivateEvent;
    Fondeactivate: THTMLScriptEventsondeactivateEvent;
    Fonfocusin: THTMLScriptEventsonfocusinEvent;
    Fonfocusout: THTMLScriptEventsonfocusoutEvent;
    Fonerror: THTMLScriptEventsonerrorEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLScriptEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLScriptEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLScriptEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLScriptEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLScriptEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLScriptEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLScriptEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLScriptEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLScriptEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLScriptEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLScriptEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLScriptEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLScriptEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLScriptEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLScriptEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLScriptEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLScriptEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLScriptEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLScriptEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLScriptEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLScriptEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLScriptEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLScriptEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLScriptEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLScriptEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLScriptEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLScriptEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLScriptEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLScriptEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLScriptEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLScriptEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLScriptEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLScriptEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLScriptEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLScriptEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLScriptEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLScriptEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLScriptEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLScriptEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLScriptEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLScriptEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLScriptEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLScriptEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLScriptEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLScriptEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLScriptEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLScriptEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLScriptEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLScriptEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLScriptEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLScriptEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLScriptEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLScriptEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLScriptEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLScriptEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLScriptEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLScriptEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLScriptEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLScriptEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLScriptEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLScriptEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLScriptEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLScriptEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onerror: THTMLScriptEventsonerrorEvent read Fonerror write Fonerror;
  end;


  //SinkEventsForwards//
  THTMLScriptEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLScriptEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLScriptEvents2onerrorEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;

  //SinkComponent//
  TMSHTMLHTMLScriptEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonerror(const pEvtObj: IHTMLEventObj); safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLScriptEvents2onhelpEvent;
    Fonclick: THTMLScriptEvents2onclickEvent;
    Fondblclick: THTMLScriptEvents2ondblclickEvent;
    Fonkeypress: THTMLScriptEvents2onkeypressEvent;
    Fonkeydown: THTMLScriptEvents2onkeydownEvent;
    Fonkeyup: THTMLScriptEvents2onkeyupEvent;
    Fonmouseout: THTMLScriptEvents2onmouseoutEvent;
    Fonmouseover: THTMLScriptEvents2onmouseoverEvent;
    Fonmousemove: THTMLScriptEvents2onmousemoveEvent;
    Fonmousedown: THTMLScriptEvents2onmousedownEvent;
    Fonmouseup: THTMLScriptEvents2onmouseupEvent;
    Fonselectstart: THTMLScriptEvents2onselectstartEvent;
    Fonfilterchange: THTMLScriptEvents2onfilterchangeEvent;
    Fondragstart: THTMLScriptEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLScriptEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLScriptEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLScriptEvents2onerrorupdateEvent;
    Fonrowexit: THTMLScriptEvents2onrowexitEvent;
    Fonrowenter: THTMLScriptEvents2onrowenterEvent;
    Fondatasetchanged: THTMLScriptEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLScriptEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLScriptEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLScriptEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLScriptEvents2onpropertychangeEvent;
    Fonscroll: THTMLScriptEvents2onscrollEvent;
    Fonfocus: THTMLScriptEvents2onfocusEvent;
    Fonblur: THTMLScriptEvents2onblurEvent;
    Fonresize: THTMLScriptEvents2onresizeEvent;
    Fondrag: THTMLScriptEvents2ondragEvent;
    Fondragend: THTMLScriptEvents2ondragendEvent;
    Fondragenter: THTMLScriptEvents2ondragenterEvent;
    Fondragover: THTMLScriptEvents2ondragoverEvent;
    Fondragleave: THTMLScriptEvents2ondragleaveEvent;
    Fondrop: THTMLScriptEvents2ondropEvent;
    Fonbeforecut: THTMLScriptEvents2onbeforecutEvent;
    Foncut: THTMLScriptEvents2oncutEvent;
    Fonbeforecopy: THTMLScriptEvents2onbeforecopyEvent;
    Foncopy: THTMLScriptEvents2oncopyEvent;
    Fonbeforepaste: THTMLScriptEvents2onbeforepasteEvent;
    Fonpaste: THTMLScriptEvents2onpasteEvent;
    Foncontextmenu: THTMLScriptEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLScriptEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLScriptEvents2onrowsinsertedEvent;
    Foncellchange: THTMLScriptEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLScriptEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLScriptEvents2onlayoutcompleteEvent;
    Fonpage: THTMLScriptEvents2onpageEvent;
    Fonmouseenter: THTMLScriptEvents2onmouseenterEvent;
    Fonmouseleave: THTMLScriptEvents2onmouseleaveEvent;
    Fonactivate: THTMLScriptEvents2onactivateEvent;
    Fondeactivate: THTMLScriptEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLScriptEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLScriptEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLScriptEvents2onfocusinEvent;
    Fonfocusout: THTMLScriptEvents2onfocusoutEvent;
    Fonmove: THTMLScriptEvents2onmoveEvent;
    Foncontrolselect: THTMLScriptEvents2oncontrolselectEvent;
    Fonmovestart: THTMLScriptEvents2onmovestartEvent;
    Fonmoveend: THTMLScriptEvents2onmoveendEvent;
    Fonresizestart: THTMLScriptEvents2onresizestartEvent;
    Fonresizeend: THTMLScriptEvents2onresizeendEvent;
    Fonmousewheel: THTMLScriptEvents2onmousewheelEvent;
    Fonerror: THTMLScriptEvents2onerrorEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLScriptEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLScriptEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLScriptEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLScriptEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLScriptEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLScriptEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLScriptEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLScriptEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLScriptEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLScriptEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLScriptEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLScriptEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLScriptEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLScriptEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLScriptEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLScriptEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLScriptEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLScriptEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLScriptEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLScriptEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLScriptEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLScriptEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLScriptEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLScriptEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLScriptEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLScriptEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLScriptEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLScriptEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLScriptEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLScriptEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLScriptEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLScriptEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLScriptEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLScriptEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLScriptEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLScriptEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLScriptEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLScriptEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLScriptEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLScriptEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLScriptEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLScriptEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLScriptEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLScriptEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLScriptEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLScriptEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLScriptEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLScriptEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLScriptEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLScriptEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLScriptEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLScriptEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLScriptEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLScriptEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLScriptEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLScriptEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLScriptEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLScriptEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLScriptEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLScriptEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLScriptEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLScriptEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onerror: THTMLScriptEvents2onerrorEvent read Fonerror write Fonerror;
  end;


  //SinkEventsForwards//
  THTMLObjectElementEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLObjectElementEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLObjectElementEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLObjectElementEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLObjectElementEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLObjectElementEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLObjectElementEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLObjectElementEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLObjectElementEventsonerrorEvent = function(Sender: TObject): WordBool of object;
  THTMLObjectElementEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLObjectElementEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLObjectElementEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLObjectElementEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLObjectElementEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    function Doonerror: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
  protected
    //SinkEventsProtected//
    Fonbeforeupdate: THTMLObjectElementEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLObjectElementEventsonafterupdateEvent;
    Fonerrorupdate: THTMLObjectElementEventsonerrorupdateEvent;
    Fonrowexit: THTMLObjectElementEventsonrowexitEvent;
    Fonrowenter: THTMLObjectElementEventsonrowenterEvent;
    Fondatasetchanged: THTMLObjectElementEventsondatasetchangedEvent;
    Fondataavailable: THTMLObjectElementEventsondataavailableEvent;
    Fondatasetcomplete: THTMLObjectElementEventsondatasetcompleteEvent;
    Fonerror: THTMLObjectElementEventsonerrorEvent;
    Fonrowsdelete: THTMLObjectElementEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLObjectElementEventsonrowsinsertedEvent;
    Foncellchange: THTMLObjectElementEventsoncellchangeEvent;
    Fonreadystatechange: THTMLObjectElementEventsonreadystatechangeEvent;
  published
    //SinkEventsPublished//
    property onbeforeupdate: THTMLObjectElementEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLObjectElementEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLObjectElementEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLObjectElementEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLObjectElementEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLObjectElementEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLObjectElementEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLObjectElementEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onerror: THTMLObjectElementEventsonerrorEvent read Fonerror write Fonerror;
    property onrowsdelete: THTMLObjectElementEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLObjectElementEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLObjectElementEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLObjectElementEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
  end;


  //SinkEventsForwards//
  THTMLObjectElementEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLObjectElementEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLObjectElementEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLObjectElementEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLObjectElementEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLObjectElementEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLObjectElementEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLObjectElementEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLObjectElementEvents2onerrorEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLObjectElementEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLObjectElementEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLObjectElementEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLObjectElementEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;

  //SinkComponent//
  TMSHTMLHTMLObjectElementEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerror(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
  protected
    //SinkEventsProtected//
    Fonbeforeupdate: THTMLObjectElementEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLObjectElementEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLObjectElementEvents2onerrorupdateEvent;
    Fonrowexit: THTMLObjectElementEvents2onrowexitEvent;
    Fonrowenter: THTMLObjectElementEvents2onrowenterEvent;
    Fondatasetchanged: THTMLObjectElementEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLObjectElementEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLObjectElementEvents2ondatasetcompleteEvent;
    Fonerror: THTMLObjectElementEvents2onerrorEvent;
    Fonrowsdelete: THTMLObjectElementEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLObjectElementEvents2onrowsinsertedEvent;
    Foncellchange: THTMLObjectElementEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLObjectElementEvents2onreadystatechangeEvent;
  published
    //SinkEventsPublished//
    property onbeforeupdate: THTMLObjectElementEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLObjectElementEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLObjectElementEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLObjectElementEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLObjectElementEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLObjectElementEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLObjectElementEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLObjectElementEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onerror: THTMLObjectElementEvents2onerrorEvent read Fonerror write Fonerror;
    property onrowsdelete: THTMLObjectElementEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLObjectElementEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLObjectElementEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLObjectElementEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
  end;


  //SinkEventsForwards//
  THTMLFrameSiteEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLFrameSiteEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLFrameSiteEventsonloadEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLFrameSiteEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    procedure Doonload; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLFrameSiteEventsonhelpEvent;
    Fonclick: THTMLFrameSiteEventsonclickEvent;
    Fondblclick: THTMLFrameSiteEventsondblclickEvent;
    Fonkeypress: THTMLFrameSiteEventsonkeypressEvent;
    Fonkeydown: THTMLFrameSiteEventsonkeydownEvent;
    Fonkeyup: THTMLFrameSiteEventsonkeyupEvent;
    Fonmouseout: THTMLFrameSiteEventsonmouseoutEvent;
    Fonmouseover: THTMLFrameSiteEventsonmouseoverEvent;
    Fonmousemove: THTMLFrameSiteEventsonmousemoveEvent;
    Fonmousedown: THTMLFrameSiteEventsonmousedownEvent;
    Fonmouseup: THTMLFrameSiteEventsonmouseupEvent;
    Fonselectstart: THTMLFrameSiteEventsonselectstartEvent;
    Fonfilterchange: THTMLFrameSiteEventsonfilterchangeEvent;
    Fondragstart: THTMLFrameSiteEventsondragstartEvent;
    Fonbeforeupdate: THTMLFrameSiteEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLFrameSiteEventsonafterupdateEvent;
    Fonerrorupdate: THTMLFrameSiteEventsonerrorupdateEvent;
    Fonrowexit: THTMLFrameSiteEventsonrowexitEvent;
    Fonrowenter: THTMLFrameSiteEventsonrowenterEvent;
    Fondatasetchanged: THTMLFrameSiteEventsondatasetchangedEvent;
    Fondataavailable: THTMLFrameSiteEventsondataavailableEvent;
    Fondatasetcomplete: THTMLFrameSiteEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLFrameSiteEventsonlosecaptureEvent;
    Fonpropertychange: THTMLFrameSiteEventsonpropertychangeEvent;
    Fonscroll: THTMLFrameSiteEventsonscrollEvent;
    Fonfocus: THTMLFrameSiteEventsonfocusEvent;
    Fonblur: THTMLFrameSiteEventsonblurEvent;
    Fonresize: THTMLFrameSiteEventsonresizeEvent;
    Fondrag: THTMLFrameSiteEventsondragEvent;
    Fondragend: THTMLFrameSiteEventsondragendEvent;
    Fondragenter: THTMLFrameSiteEventsondragenterEvent;
    Fondragover: THTMLFrameSiteEventsondragoverEvent;
    Fondragleave: THTMLFrameSiteEventsondragleaveEvent;
    Fondrop: THTMLFrameSiteEventsondropEvent;
    Fonbeforecut: THTMLFrameSiteEventsonbeforecutEvent;
    Foncut: THTMLFrameSiteEventsoncutEvent;
    Fonbeforecopy: THTMLFrameSiteEventsonbeforecopyEvent;
    Foncopy: THTMLFrameSiteEventsoncopyEvent;
    Fonbeforepaste: THTMLFrameSiteEventsonbeforepasteEvent;
    Fonpaste: THTMLFrameSiteEventsonpasteEvent;
    Foncontextmenu: THTMLFrameSiteEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLFrameSiteEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLFrameSiteEventsonrowsinsertedEvent;
    Foncellchange: THTMLFrameSiteEventsoncellchangeEvent;
    Fonreadystatechange: THTMLFrameSiteEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLFrameSiteEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLFrameSiteEventsonlayoutcompleteEvent;
    Fonpage: THTMLFrameSiteEventsonpageEvent;
    Fonbeforedeactivate: THTMLFrameSiteEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLFrameSiteEventsonbeforeactivateEvent;
    Fonmove: THTMLFrameSiteEventsonmoveEvent;
    Foncontrolselect: THTMLFrameSiteEventsoncontrolselectEvent;
    Fonmovestart: THTMLFrameSiteEventsonmovestartEvent;
    Fonmoveend: THTMLFrameSiteEventsonmoveendEvent;
    Fonresizestart: THTMLFrameSiteEventsonresizestartEvent;
    Fonresizeend: THTMLFrameSiteEventsonresizeendEvent;
    Fonmouseenter: THTMLFrameSiteEventsonmouseenterEvent;
    Fonmouseleave: THTMLFrameSiteEventsonmouseleaveEvent;
    Fonmousewheel: THTMLFrameSiteEventsonmousewheelEvent;
    Fonactivate: THTMLFrameSiteEventsonactivateEvent;
    Fondeactivate: THTMLFrameSiteEventsondeactivateEvent;
    Fonfocusin: THTMLFrameSiteEventsonfocusinEvent;
    Fonfocusout: THTMLFrameSiteEventsonfocusoutEvent;
    Fonload: THTMLFrameSiteEventsonloadEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLFrameSiteEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLFrameSiteEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLFrameSiteEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLFrameSiteEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLFrameSiteEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLFrameSiteEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLFrameSiteEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLFrameSiteEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLFrameSiteEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLFrameSiteEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLFrameSiteEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLFrameSiteEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLFrameSiteEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLFrameSiteEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLFrameSiteEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLFrameSiteEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLFrameSiteEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLFrameSiteEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLFrameSiteEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLFrameSiteEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLFrameSiteEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLFrameSiteEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLFrameSiteEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLFrameSiteEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLFrameSiteEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLFrameSiteEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLFrameSiteEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLFrameSiteEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLFrameSiteEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLFrameSiteEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLFrameSiteEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLFrameSiteEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLFrameSiteEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLFrameSiteEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLFrameSiteEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLFrameSiteEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLFrameSiteEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLFrameSiteEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLFrameSiteEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLFrameSiteEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLFrameSiteEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLFrameSiteEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLFrameSiteEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLFrameSiteEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLFrameSiteEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLFrameSiteEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLFrameSiteEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLFrameSiteEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLFrameSiteEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLFrameSiteEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLFrameSiteEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLFrameSiteEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLFrameSiteEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLFrameSiteEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLFrameSiteEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLFrameSiteEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLFrameSiteEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLFrameSiteEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLFrameSiteEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLFrameSiteEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLFrameSiteEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLFrameSiteEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLFrameSiteEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onload: THTMLFrameSiteEventsonloadEvent read Fonload write Fonload;
  end;


  //SinkEventsForwards//
  THTMLFrameSiteEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLFrameSiteEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLFrameSiteEvents2onloadEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;

  //SinkComponent//
  TMSHTMLHTMLFrameSiteEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonload(const pEvtObj: IHTMLEventObj); safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLFrameSiteEvents2onhelpEvent;
    Fonclick: THTMLFrameSiteEvents2onclickEvent;
    Fondblclick: THTMLFrameSiteEvents2ondblclickEvent;
    Fonkeypress: THTMLFrameSiteEvents2onkeypressEvent;
    Fonkeydown: THTMLFrameSiteEvents2onkeydownEvent;
    Fonkeyup: THTMLFrameSiteEvents2onkeyupEvent;
    Fonmouseout: THTMLFrameSiteEvents2onmouseoutEvent;
    Fonmouseover: THTMLFrameSiteEvents2onmouseoverEvent;
    Fonmousemove: THTMLFrameSiteEvents2onmousemoveEvent;
    Fonmousedown: THTMLFrameSiteEvents2onmousedownEvent;
    Fonmouseup: THTMLFrameSiteEvents2onmouseupEvent;
    Fonselectstart: THTMLFrameSiteEvents2onselectstartEvent;
    Fonfilterchange: THTMLFrameSiteEvents2onfilterchangeEvent;
    Fondragstart: THTMLFrameSiteEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLFrameSiteEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLFrameSiteEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLFrameSiteEvents2onerrorupdateEvent;
    Fonrowexit: THTMLFrameSiteEvents2onrowexitEvent;
    Fonrowenter: THTMLFrameSiteEvents2onrowenterEvent;
    Fondatasetchanged: THTMLFrameSiteEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLFrameSiteEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLFrameSiteEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLFrameSiteEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLFrameSiteEvents2onpropertychangeEvent;
    Fonscroll: THTMLFrameSiteEvents2onscrollEvent;
    Fonfocus: THTMLFrameSiteEvents2onfocusEvent;
    Fonblur: THTMLFrameSiteEvents2onblurEvent;
    Fonresize: THTMLFrameSiteEvents2onresizeEvent;
    Fondrag: THTMLFrameSiteEvents2ondragEvent;
    Fondragend: THTMLFrameSiteEvents2ondragendEvent;
    Fondragenter: THTMLFrameSiteEvents2ondragenterEvent;
    Fondragover: THTMLFrameSiteEvents2ondragoverEvent;
    Fondragleave: THTMLFrameSiteEvents2ondragleaveEvent;
    Fondrop: THTMLFrameSiteEvents2ondropEvent;
    Fonbeforecut: THTMLFrameSiteEvents2onbeforecutEvent;
    Foncut: THTMLFrameSiteEvents2oncutEvent;
    Fonbeforecopy: THTMLFrameSiteEvents2onbeforecopyEvent;
    Foncopy: THTMLFrameSiteEvents2oncopyEvent;
    Fonbeforepaste: THTMLFrameSiteEvents2onbeforepasteEvent;
    Fonpaste: THTMLFrameSiteEvents2onpasteEvent;
    Foncontextmenu: THTMLFrameSiteEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLFrameSiteEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLFrameSiteEvents2onrowsinsertedEvent;
    Foncellchange: THTMLFrameSiteEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLFrameSiteEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLFrameSiteEvents2onlayoutcompleteEvent;
    Fonpage: THTMLFrameSiteEvents2onpageEvent;
    Fonmouseenter: THTMLFrameSiteEvents2onmouseenterEvent;
    Fonmouseleave: THTMLFrameSiteEvents2onmouseleaveEvent;
    Fonactivate: THTMLFrameSiteEvents2onactivateEvent;
    Fondeactivate: THTMLFrameSiteEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLFrameSiteEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLFrameSiteEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLFrameSiteEvents2onfocusinEvent;
    Fonfocusout: THTMLFrameSiteEvents2onfocusoutEvent;
    Fonmove: THTMLFrameSiteEvents2onmoveEvent;
    Foncontrolselect: THTMLFrameSiteEvents2oncontrolselectEvent;
    Fonmovestart: THTMLFrameSiteEvents2onmovestartEvent;
    Fonmoveend: THTMLFrameSiteEvents2onmoveendEvent;
    Fonresizestart: THTMLFrameSiteEvents2onresizestartEvent;
    Fonresizeend: THTMLFrameSiteEvents2onresizeendEvent;
    Fonmousewheel: THTMLFrameSiteEvents2onmousewheelEvent;
    Fonload: THTMLFrameSiteEvents2onloadEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLFrameSiteEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLFrameSiteEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLFrameSiteEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLFrameSiteEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLFrameSiteEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLFrameSiteEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLFrameSiteEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLFrameSiteEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLFrameSiteEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLFrameSiteEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLFrameSiteEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLFrameSiteEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLFrameSiteEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLFrameSiteEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLFrameSiteEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLFrameSiteEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLFrameSiteEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLFrameSiteEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLFrameSiteEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLFrameSiteEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLFrameSiteEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLFrameSiteEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLFrameSiteEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLFrameSiteEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLFrameSiteEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLFrameSiteEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLFrameSiteEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLFrameSiteEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLFrameSiteEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLFrameSiteEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLFrameSiteEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLFrameSiteEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLFrameSiteEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLFrameSiteEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLFrameSiteEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLFrameSiteEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLFrameSiteEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLFrameSiteEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLFrameSiteEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLFrameSiteEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLFrameSiteEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLFrameSiteEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLFrameSiteEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLFrameSiteEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLFrameSiteEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLFrameSiteEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLFrameSiteEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLFrameSiteEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLFrameSiteEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLFrameSiteEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLFrameSiteEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLFrameSiteEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLFrameSiteEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLFrameSiteEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLFrameSiteEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLFrameSiteEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLFrameSiteEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLFrameSiteEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLFrameSiteEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLFrameSiteEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLFrameSiteEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLFrameSiteEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onload: THTMLFrameSiteEvents2onloadEvent read Fonload write Fonload;
  end;


  //SinkEventsForwards//
  THTMLStyleElementEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLStyleElementEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonloadEvent = procedure(Sender: TObject) of object;
  THTMLStyleElementEventsonerrorEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLStyleElementEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    procedure Doonload; safecall;
    procedure Doonerror; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLStyleElementEventsonhelpEvent;
    Fonclick: THTMLStyleElementEventsonclickEvent;
    Fondblclick: THTMLStyleElementEventsondblclickEvent;
    Fonkeypress: THTMLStyleElementEventsonkeypressEvent;
    Fonkeydown: THTMLStyleElementEventsonkeydownEvent;
    Fonkeyup: THTMLStyleElementEventsonkeyupEvent;
    Fonmouseout: THTMLStyleElementEventsonmouseoutEvent;
    Fonmouseover: THTMLStyleElementEventsonmouseoverEvent;
    Fonmousemove: THTMLStyleElementEventsonmousemoveEvent;
    Fonmousedown: THTMLStyleElementEventsonmousedownEvent;
    Fonmouseup: THTMLStyleElementEventsonmouseupEvent;
    Fonselectstart: THTMLStyleElementEventsonselectstartEvent;
    Fonfilterchange: THTMLStyleElementEventsonfilterchangeEvent;
    Fondragstart: THTMLStyleElementEventsondragstartEvent;
    Fonbeforeupdate: THTMLStyleElementEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLStyleElementEventsonafterupdateEvent;
    Fonerrorupdate: THTMLStyleElementEventsonerrorupdateEvent;
    Fonrowexit: THTMLStyleElementEventsonrowexitEvent;
    Fonrowenter: THTMLStyleElementEventsonrowenterEvent;
    Fondatasetchanged: THTMLStyleElementEventsondatasetchangedEvent;
    Fondataavailable: THTMLStyleElementEventsondataavailableEvent;
    Fondatasetcomplete: THTMLStyleElementEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLStyleElementEventsonlosecaptureEvent;
    Fonpropertychange: THTMLStyleElementEventsonpropertychangeEvent;
    Fonscroll: THTMLStyleElementEventsonscrollEvent;
    Fonfocus: THTMLStyleElementEventsonfocusEvent;
    Fonblur: THTMLStyleElementEventsonblurEvent;
    Fonresize: THTMLStyleElementEventsonresizeEvent;
    Fondrag: THTMLStyleElementEventsondragEvent;
    Fondragend: THTMLStyleElementEventsondragendEvent;
    Fondragenter: THTMLStyleElementEventsondragenterEvent;
    Fondragover: THTMLStyleElementEventsondragoverEvent;
    Fondragleave: THTMLStyleElementEventsondragleaveEvent;
    Fondrop: THTMLStyleElementEventsondropEvent;
    Fonbeforecut: THTMLStyleElementEventsonbeforecutEvent;
    Foncut: THTMLStyleElementEventsoncutEvent;
    Fonbeforecopy: THTMLStyleElementEventsonbeforecopyEvent;
    Foncopy: THTMLStyleElementEventsoncopyEvent;
    Fonbeforepaste: THTMLStyleElementEventsonbeforepasteEvent;
    Fonpaste: THTMLStyleElementEventsonpasteEvent;
    Foncontextmenu: THTMLStyleElementEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLStyleElementEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLStyleElementEventsonrowsinsertedEvent;
    Foncellchange: THTMLStyleElementEventsoncellchangeEvent;
    Fonreadystatechange: THTMLStyleElementEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLStyleElementEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLStyleElementEventsonlayoutcompleteEvent;
    Fonpage: THTMLStyleElementEventsonpageEvent;
    Fonbeforedeactivate: THTMLStyleElementEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLStyleElementEventsonbeforeactivateEvent;
    Fonmove: THTMLStyleElementEventsonmoveEvent;
    Foncontrolselect: THTMLStyleElementEventsoncontrolselectEvent;
    Fonmovestart: THTMLStyleElementEventsonmovestartEvent;
    Fonmoveend: THTMLStyleElementEventsonmoveendEvent;
    Fonresizestart: THTMLStyleElementEventsonresizestartEvent;
    Fonresizeend: THTMLStyleElementEventsonresizeendEvent;
    Fonmouseenter: THTMLStyleElementEventsonmouseenterEvent;
    Fonmouseleave: THTMLStyleElementEventsonmouseleaveEvent;
    Fonmousewheel: THTMLStyleElementEventsonmousewheelEvent;
    Fonactivate: THTMLStyleElementEventsonactivateEvent;
    Fondeactivate: THTMLStyleElementEventsondeactivateEvent;
    Fonfocusin: THTMLStyleElementEventsonfocusinEvent;
    Fonfocusout: THTMLStyleElementEventsonfocusoutEvent;
    Fonload: THTMLStyleElementEventsonloadEvent;
    Fonerror: THTMLStyleElementEventsonerrorEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLStyleElementEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLStyleElementEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLStyleElementEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLStyleElementEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLStyleElementEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLStyleElementEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLStyleElementEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLStyleElementEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLStyleElementEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLStyleElementEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLStyleElementEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLStyleElementEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLStyleElementEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLStyleElementEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLStyleElementEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLStyleElementEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLStyleElementEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLStyleElementEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLStyleElementEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLStyleElementEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLStyleElementEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLStyleElementEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLStyleElementEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLStyleElementEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLStyleElementEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLStyleElementEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLStyleElementEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLStyleElementEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLStyleElementEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLStyleElementEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLStyleElementEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLStyleElementEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLStyleElementEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLStyleElementEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLStyleElementEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLStyleElementEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLStyleElementEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLStyleElementEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLStyleElementEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLStyleElementEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLStyleElementEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLStyleElementEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLStyleElementEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLStyleElementEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLStyleElementEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLStyleElementEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLStyleElementEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLStyleElementEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLStyleElementEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLStyleElementEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLStyleElementEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLStyleElementEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLStyleElementEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLStyleElementEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLStyleElementEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLStyleElementEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLStyleElementEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLStyleElementEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLStyleElementEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLStyleElementEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLStyleElementEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLStyleElementEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLStyleElementEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onload: THTMLStyleElementEventsonloadEvent read Fonload write Fonload;
    property onerror: THTMLStyleElementEventsonerrorEvent read Fonerror write Fonerror;
  end;


  //SinkEventsForwards//
  THTMLStyleElementEvents2onhelpEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2ondblclickEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onkeypressEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onkeydownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onkeyupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onmouseoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onmouseoverEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onmousemoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onmousedownEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onmouseupEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onselectstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onfilterchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2ondragstartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onbeforeupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onafterupdateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onerrorupdateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onrowexitEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onrowenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2ondatasetchangedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2ondataavailableEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2ondatasetcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onlosecaptureEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onpropertychangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onscrollEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onfocusEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onblurEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onresizeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2ondragEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2ondragendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2ondragenterEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2ondragoverEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2ondragleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2ondropEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onbeforecutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2oncutEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onbeforecopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2oncopyEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onbeforepasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onpasteEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2oncontextmenuEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onrowsdeleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onrowsinsertedEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2oncellchangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onlayoutcompleteEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onpageEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onmouseenterEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onmouseleaveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2ondeactivateEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onbeforedeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onbeforeactivateEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onfocusinEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onfocusoutEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onmoveEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2oncontrolselectEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onmovestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onmoveendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onresizestartEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onresizeendEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onmousewheelEvent = function(Sender: TObject; const pEvtObj: IHTMLEventObj): WordBool of object;
  THTMLStyleElementEvents2onloadEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;
  THTMLStyleElementEvents2onerrorEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;

  //SinkComponent//
  TMSHTMLHTMLStyleElementEvents2 = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondblclick(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonkeydown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonkeyup(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseover(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousemove(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmousedown(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseup(const pEvtObj: IHTMLEventObj); safecall;
    function Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfilterchange(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragstart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonafterupdate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetchanged(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondataavailable(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondatasetcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlosecapture(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpropertychange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonscroll(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocus(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonblur(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonresize(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrag(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragend(const pEvtObj: IHTMLEventObj); safecall;
    function Doondragenter(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doondragover(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doondragleave(const pEvtObj: IHTMLEventObj); safecall;
    function Doondrop(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncut(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncopy(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonpaste(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonrowsdelete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonrowsinserted(const pEvtObj: IHTMLEventObj); safecall;
    procedure Dooncellchange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonlayoutcomplete(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonpage(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseenter(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmouseleave(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonactivate(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doondeactivate(const pEvtObj: IHTMLEventObj); safecall;
    function Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonfocusin(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonfocusout(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonmove(const pEvtObj: IHTMLEventObj); safecall;
    function Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    function Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonmoveend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonresizeend(const pEvtObj: IHTMLEventObj); safecall;
    function Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool; safecall;
    procedure Doonload(const pEvtObj: IHTMLEventObj); safecall;
    procedure Doonerror(const pEvtObj: IHTMLEventObj); safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLStyleElementEvents2onhelpEvent;
    Fonclick: THTMLStyleElementEvents2onclickEvent;
    Fondblclick: THTMLStyleElementEvents2ondblclickEvent;
    Fonkeypress: THTMLStyleElementEvents2onkeypressEvent;
    Fonkeydown: THTMLStyleElementEvents2onkeydownEvent;
    Fonkeyup: THTMLStyleElementEvents2onkeyupEvent;
    Fonmouseout: THTMLStyleElementEvents2onmouseoutEvent;
    Fonmouseover: THTMLStyleElementEvents2onmouseoverEvent;
    Fonmousemove: THTMLStyleElementEvents2onmousemoveEvent;
    Fonmousedown: THTMLStyleElementEvents2onmousedownEvent;
    Fonmouseup: THTMLStyleElementEvents2onmouseupEvent;
    Fonselectstart: THTMLStyleElementEvents2onselectstartEvent;
    Fonfilterchange: THTMLStyleElementEvents2onfilterchangeEvent;
    Fondragstart: THTMLStyleElementEvents2ondragstartEvent;
    Fonbeforeupdate: THTMLStyleElementEvents2onbeforeupdateEvent;
    Fonafterupdate: THTMLStyleElementEvents2onafterupdateEvent;
    Fonerrorupdate: THTMLStyleElementEvents2onerrorupdateEvent;
    Fonrowexit: THTMLStyleElementEvents2onrowexitEvent;
    Fonrowenter: THTMLStyleElementEvents2onrowenterEvent;
    Fondatasetchanged: THTMLStyleElementEvents2ondatasetchangedEvent;
    Fondataavailable: THTMLStyleElementEvents2ondataavailableEvent;
    Fondatasetcomplete: THTMLStyleElementEvents2ondatasetcompleteEvent;
    Fonlosecapture: THTMLStyleElementEvents2onlosecaptureEvent;
    Fonpropertychange: THTMLStyleElementEvents2onpropertychangeEvent;
    Fonscroll: THTMLStyleElementEvents2onscrollEvent;
    Fonfocus: THTMLStyleElementEvents2onfocusEvent;
    Fonblur: THTMLStyleElementEvents2onblurEvent;
    Fonresize: THTMLStyleElementEvents2onresizeEvent;
    Fondrag: THTMLStyleElementEvents2ondragEvent;
    Fondragend: THTMLStyleElementEvents2ondragendEvent;
    Fondragenter: THTMLStyleElementEvents2ondragenterEvent;
    Fondragover: THTMLStyleElementEvents2ondragoverEvent;
    Fondragleave: THTMLStyleElementEvents2ondragleaveEvent;
    Fondrop: THTMLStyleElementEvents2ondropEvent;
    Fonbeforecut: THTMLStyleElementEvents2onbeforecutEvent;
    Foncut: THTMLStyleElementEvents2oncutEvent;
    Fonbeforecopy: THTMLStyleElementEvents2onbeforecopyEvent;
    Foncopy: THTMLStyleElementEvents2oncopyEvent;
    Fonbeforepaste: THTMLStyleElementEvents2onbeforepasteEvent;
    Fonpaste: THTMLStyleElementEvents2onpasteEvent;
    Foncontextmenu: THTMLStyleElementEvents2oncontextmenuEvent;
    Fonrowsdelete: THTMLStyleElementEvents2onrowsdeleteEvent;
    Fonrowsinserted: THTMLStyleElementEvents2onrowsinsertedEvent;
    Foncellchange: THTMLStyleElementEvents2oncellchangeEvent;
    Fonreadystatechange: THTMLStyleElementEvents2onreadystatechangeEvent;
    Fonlayoutcomplete: THTMLStyleElementEvents2onlayoutcompleteEvent;
    Fonpage: THTMLStyleElementEvents2onpageEvent;
    Fonmouseenter: THTMLStyleElementEvents2onmouseenterEvent;
    Fonmouseleave: THTMLStyleElementEvents2onmouseleaveEvent;
    Fonactivate: THTMLStyleElementEvents2onactivateEvent;
    Fondeactivate: THTMLStyleElementEvents2ondeactivateEvent;
    Fonbeforedeactivate: THTMLStyleElementEvents2onbeforedeactivateEvent;
    Fonbeforeactivate: THTMLStyleElementEvents2onbeforeactivateEvent;
    Fonfocusin: THTMLStyleElementEvents2onfocusinEvent;
    Fonfocusout: THTMLStyleElementEvents2onfocusoutEvent;
    Fonmove: THTMLStyleElementEvents2onmoveEvent;
    Foncontrolselect: THTMLStyleElementEvents2oncontrolselectEvent;
    Fonmovestart: THTMLStyleElementEvents2onmovestartEvent;
    Fonmoveend: THTMLStyleElementEvents2onmoveendEvent;
    Fonresizestart: THTMLStyleElementEvents2onresizestartEvent;
    Fonresizeend: THTMLStyleElementEvents2onresizeendEvent;
    Fonmousewheel: THTMLStyleElementEvents2onmousewheelEvent;
    Fonload: THTMLStyleElementEvents2onloadEvent;
    Fonerror: THTMLStyleElementEvents2onerrorEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLStyleElementEvents2onhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLStyleElementEvents2onclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLStyleElementEvents2ondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLStyleElementEvents2onkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLStyleElementEvents2onkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLStyleElementEvents2onkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLStyleElementEvents2onmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLStyleElementEvents2onmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLStyleElementEvents2onmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLStyleElementEvents2onmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLStyleElementEvents2onmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLStyleElementEvents2onselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLStyleElementEvents2onfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLStyleElementEvents2ondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLStyleElementEvents2onbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLStyleElementEvents2onafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLStyleElementEvents2onerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLStyleElementEvents2onrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLStyleElementEvents2onrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLStyleElementEvents2ondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLStyleElementEvents2ondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLStyleElementEvents2ondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLStyleElementEvents2onlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLStyleElementEvents2onpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLStyleElementEvents2onscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLStyleElementEvents2onfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLStyleElementEvents2onblurEvent read Fonblur write Fonblur;
    property onresize: THTMLStyleElementEvents2onresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLStyleElementEvents2ondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLStyleElementEvents2ondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLStyleElementEvents2ondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLStyleElementEvents2ondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLStyleElementEvents2ondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLStyleElementEvents2ondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLStyleElementEvents2onbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLStyleElementEvents2oncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLStyleElementEvents2onbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLStyleElementEvents2oncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLStyleElementEvents2onbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLStyleElementEvents2onpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLStyleElementEvents2oncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLStyleElementEvents2onrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLStyleElementEvents2onrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLStyleElementEvents2oncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLStyleElementEvents2onreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onlayoutcomplete: THTMLStyleElementEvents2onlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLStyleElementEvents2onpageEvent read Fonpage write Fonpage;
    property onmouseenter: THTMLStyleElementEvents2onmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLStyleElementEvents2onmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onactivate: THTMLStyleElementEvents2onactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLStyleElementEvents2ondeactivateEvent read Fondeactivate write Fondeactivate;
    property onbeforedeactivate: THTMLStyleElementEvents2onbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLStyleElementEvents2onbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onfocusin: THTMLStyleElementEvents2onfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLStyleElementEvents2onfocusoutEvent read Fonfocusout write Fonfocusout;
    property onmove: THTMLStyleElementEvents2onmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLStyleElementEvents2oncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLStyleElementEvents2onmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLStyleElementEvents2onmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLStyleElementEvents2onresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLStyleElementEvents2onresizeendEvent read Fonresizeend write Fonresizeend;
    property onmousewheel: THTMLStyleElementEvents2onmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onload: THTMLStyleElementEvents2onloadEvent read Fonload write Fonload;
    property onerror: THTMLStyleElementEvents2onerrorEvent read Fonerror write Fonerror;
  end;


  //SinkEventsForwards//
  THTMLNamespaceEventsonreadystatechangeEvent = procedure(Sender: TObject; const pEvtObj: IHTMLEventObj) of object;

  //SinkComponent//
  TMSHTMLHTMLNamespaceEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    procedure Doonreadystatechange(const pEvtObj: IHTMLEventObj); safecall;
  protected
    //SinkEventsProtected//
    Fonreadystatechange: THTMLNamespaceEventsonreadystatechangeEvent;
  published
    //SinkEventsPublished//
    property onreadystatechange: THTMLNamespaceEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
  end;


  //SinkEventsForwards//
  THTMLInputFileElementEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonchangeEvent = function(Sender: TObject): WordBool of object;
  THTMLInputFileElementEventsonselectEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonloadEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonerrorEvent = procedure(Sender: TObject) of object;
  THTMLInputFileElementEventsonabortEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLInputFileElementEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    function Doonchange: WordBool; safecall;
    procedure Doonselect; safecall;
    procedure Doonload; safecall;
    procedure Doonerror; safecall;
    procedure Doonabort; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLInputFileElementEventsonhelpEvent;
    Fonclick: THTMLInputFileElementEventsonclickEvent;
    Fondblclick: THTMLInputFileElementEventsondblclickEvent;
    Fonkeypress: THTMLInputFileElementEventsonkeypressEvent;
    Fonkeydown: THTMLInputFileElementEventsonkeydownEvent;
    Fonkeyup: THTMLInputFileElementEventsonkeyupEvent;
    Fonmouseout: THTMLInputFileElementEventsonmouseoutEvent;
    Fonmouseover: THTMLInputFileElementEventsonmouseoverEvent;
    Fonmousemove: THTMLInputFileElementEventsonmousemoveEvent;
    Fonmousedown: THTMLInputFileElementEventsonmousedownEvent;
    Fonmouseup: THTMLInputFileElementEventsonmouseupEvent;
    Fonselectstart: THTMLInputFileElementEventsonselectstartEvent;
    Fonfilterchange: THTMLInputFileElementEventsonfilterchangeEvent;
    Fondragstart: THTMLInputFileElementEventsondragstartEvent;
    Fonbeforeupdate: THTMLInputFileElementEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLInputFileElementEventsonafterupdateEvent;
    Fonerrorupdate: THTMLInputFileElementEventsonerrorupdateEvent;
    Fonrowexit: THTMLInputFileElementEventsonrowexitEvent;
    Fonrowenter: THTMLInputFileElementEventsonrowenterEvent;
    Fondatasetchanged: THTMLInputFileElementEventsondatasetchangedEvent;
    Fondataavailable: THTMLInputFileElementEventsondataavailableEvent;
    Fondatasetcomplete: THTMLInputFileElementEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLInputFileElementEventsonlosecaptureEvent;
    Fonpropertychange: THTMLInputFileElementEventsonpropertychangeEvent;
    Fonscroll: THTMLInputFileElementEventsonscrollEvent;
    Fonfocus: THTMLInputFileElementEventsonfocusEvent;
    Fonblur: THTMLInputFileElementEventsonblurEvent;
    Fonresize: THTMLInputFileElementEventsonresizeEvent;
    Fondrag: THTMLInputFileElementEventsondragEvent;
    Fondragend: THTMLInputFileElementEventsondragendEvent;
    Fondragenter: THTMLInputFileElementEventsondragenterEvent;
    Fondragover: THTMLInputFileElementEventsondragoverEvent;
    Fondragleave: THTMLInputFileElementEventsondragleaveEvent;
    Fondrop: THTMLInputFileElementEventsondropEvent;
    Fonbeforecut: THTMLInputFileElementEventsonbeforecutEvent;
    Foncut: THTMLInputFileElementEventsoncutEvent;
    Fonbeforecopy: THTMLInputFileElementEventsonbeforecopyEvent;
    Foncopy: THTMLInputFileElementEventsoncopyEvent;
    Fonbeforepaste: THTMLInputFileElementEventsonbeforepasteEvent;
    Fonpaste: THTMLInputFileElementEventsonpasteEvent;
    Foncontextmenu: THTMLInputFileElementEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLInputFileElementEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLInputFileElementEventsonrowsinsertedEvent;
    Foncellchange: THTMLInputFileElementEventsoncellchangeEvent;
    Fonreadystatechange: THTMLInputFileElementEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLInputFileElementEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLInputFileElementEventsonlayoutcompleteEvent;
    Fonpage: THTMLInputFileElementEventsonpageEvent;
    Fonbeforedeactivate: THTMLInputFileElementEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLInputFileElementEventsonbeforeactivateEvent;
    Fonmove: THTMLInputFileElementEventsonmoveEvent;
    Foncontrolselect: THTMLInputFileElementEventsoncontrolselectEvent;
    Fonmovestart: THTMLInputFileElementEventsonmovestartEvent;
    Fonmoveend: THTMLInputFileElementEventsonmoveendEvent;
    Fonresizestart: THTMLInputFileElementEventsonresizestartEvent;
    Fonresizeend: THTMLInputFileElementEventsonresizeendEvent;
    Fonmouseenter: THTMLInputFileElementEventsonmouseenterEvent;
    Fonmouseleave: THTMLInputFileElementEventsonmouseleaveEvent;
    Fonmousewheel: THTMLInputFileElementEventsonmousewheelEvent;
    Fonactivate: THTMLInputFileElementEventsonactivateEvent;
    Fondeactivate: THTMLInputFileElementEventsondeactivateEvent;
    Fonfocusin: THTMLInputFileElementEventsonfocusinEvent;
    Fonfocusout: THTMLInputFileElementEventsonfocusoutEvent;
    Fonchange: THTMLInputFileElementEventsonchangeEvent;
    Fonselect: THTMLInputFileElementEventsonselectEvent;
    Fonload: THTMLInputFileElementEventsonloadEvent;
    Fonerror: THTMLInputFileElementEventsonerrorEvent;
    Fonabort: THTMLInputFileElementEventsonabortEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLInputFileElementEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLInputFileElementEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLInputFileElementEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLInputFileElementEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLInputFileElementEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLInputFileElementEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLInputFileElementEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLInputFileElementEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLInputFileElementEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLInputFileElementEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLInputFileElementEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLInputFileElementEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLInputFileElementEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLInputFileElementEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLInputFileElementEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLInputFileElementEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLInputFileElementEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLInputFileElementEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLInputFileElementEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLInputFileElementEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLInputFileElementEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLInputFileElementEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLInputFileElementEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLInputFileElementEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLInputFileElementEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLInputFileElementEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLInputFileElementEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLInputFileElementEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLInputFileElementEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLInputFileElementEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLInputFileElementEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLInputFileElementEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLInputFileElementEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLInputFileElementEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLInputFileElementEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLInputFileElementEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLInputFileElementEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLInputFileElementEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLInputFileElementEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLInputFileElementEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLInputFileElementEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLInputFileElementEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLInputFileElementEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLInputFileElementEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLInputFileElementEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLInputFileElementEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLInputFileElementEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLInputFileElementEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLInputFileElementEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLInputFileElementEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLInputFileElementEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLInputFileElementEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLInputFileElementEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLInputFileElementEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLInputFileElementEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLInputFileElementEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLInputFileElementEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLInputFileElementEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLInputFileElementEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLInputFileElementEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLInputFileElementEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLInputFileElementEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLInputFileElementEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onchange: THTMLInputFileElementEventsonchangeEvent read Fonchange write Fonchange;
    property onselect: THTMLInputFileElementEventsonselectEvent read Fonselect write Fonselect;
    property onload: THTMLInputFileElementEventsonloadEvent read Fonload write Fonload;
    property onerror: THTMLInputFileElementEventsonerrorEvent read Fonerror write Fonerror;
    property onabort: THTMLInputFileElementEventsonabortEvent read Fonabort write Fonabort;
  end;


  //SinkEventsForwards//
  THTMLInputImageEventsonhelpEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonclickEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsondblclickEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonkeypressEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonkeydownEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonkeyupEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonmouseoutEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonmouseoverEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonmousemoveEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonmousedownEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonmouseupEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonselectstartEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonfilterchangeEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsondragstartEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonbeforeupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonafterupdateEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonerrorupdateEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonrowexitEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonrowenterEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsondatasetchangedEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsondataavailableEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsondatasetcompleteEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonlosecaptureEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonpropertychangeEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonscrollEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonfocusEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonblurEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonresizeEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsondragEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsondragendEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsondragenterEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsondragoverEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsondragleaveEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsondropEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonbeforecutEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsoncutEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonbeforecopyEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsoncopyEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonbeforepasteEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonpasteEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsoncontextmenuEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonrowsdeleteEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonrowsinsertedEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsoncellchangeEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonreadystatechangeEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonbeforeeditfocusEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonlayoutcompleteEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonpageEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonbeforedeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonbeforeactivateEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonmoveEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsoncontrolselectEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonmovestartEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonmoveendEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonresizestartEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonresizeendEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonmouseenterEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonmouseleaveEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonmousewheelEvent = function(Sender: TObject): WordBool of object;
  THTMLInputImageEventsonactivateEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsondeactivateEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonfocusinEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonfocusoutEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonloadEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonerrorEvent = procedure(Sender: TObject) of object;
  THTMLInputImageEventsonabortEvent = procedure(Sender: TObject) of object;

  //SinkComponent//
  TMSHTMLHTMLInputImageEvents = class(TMSHTMLEventsBaseSink
    //ISinkInterface//
      )
  protected
    function DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
      Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
      VarResult, ExcepInfo, ArgErr: Pointer): HResult; override;

    //ISinkInterfaceMethods//
  public
    { system methods }
    constructor Create(AOwner: TComponent); override;
  protected
    //SinkInterface//
    function Doonhelp: WordBool; safecall;
    function Doonclick: WordBool; safecall;
    function Doondblclick: WordBool; safecall;
    function Doonkeypress: WordBool; safecall;
    procedure Doonkeydown; safecall;
    procedure Doonkeyup; safecall;
    procedure Doonmouseout; safecall;
    procedure Doonmouseover; safecall;
    procedure Doonmousemove; safecall;
    procedure Doonmousedown; safecall;
    procedure Doonmouseup; safecall;
    function Doonselectstart: WordBool; safecall;
    procedure Doonfilterchange; safecall;
    function Doondragstart: WordBool; safecall;
    function Doonbeforeupdate: WordBool; safecall;
    procedure Doonafterupdate; safecall;
    function Doonerrorupdate: WordBool; safecall;
    function Doonrowexit: WordBool; safecall;
    procedure Doonrowenter; safecall;
    procedure Doondatasetchanged; safecall;
    procedure Doondataavailable; safecall;
    procedure Doondatasetcomplete; safecall;
    procedure Doonlosecapture; safecall;
    procedure Doonpropertychange; safecall;
    procedure Doonscroll; safecall;
    procedure Doonfocus; safecall;
    procedure Doonblur; safecall;
    procedure Doonresize; safecall;
    function Doondrag: WordBool; safecall;
    procedure Doondragend; safecall;
    function Doondragenter: WordBool; safecall;
    function Doondragover: WordBool; safecall;
    procedure Doondragleave; safecall;
    function Doondrop: WordBool; safecall;
    function Doonbeforecut: WordBool; safecall;
    function Dooncut: WordBool; safecall;
    function Doonbeforecopy: WordBool; safecall;
    function Dooncopy: WordBool; safecall;
    function Doonbeforepaste: WordBool; safecall;
    function Doonpaste: WordBool; safecall;
    function Dooncontextmenu: WordBool; safecall;
    procedure Doonrowsdelete; safecall;
    procedure Doonrowsinserted; safecall;
    procedure Dooncellchange; safecall;
    procedure Doonreadystatechange; safecall;
    procedure Doonbeforeeditfocus; safecall;
    procedure Doonlayoutcomplete; safecall;
    procedure Doonpage; safecall;
    function Doonbeforedeactivate: WordBool; safecall;
    function Doonbeforeactivate: WordBool; safecall;
    procedure Doonmove; safecall;
    function Dooncontrolselect: WordBool; safecall;
    function Doonmovestart: WordBool; safecall;
    procedure Doonmoveend; safecall;
    function Doonresizestart: WordBool; safecall;
    procedure Doonresizeend; safecall;
    procedure Doonmouseenter; safecall;
    procedure Doonmouseleave; safecall;
    function Doonmousewheel: WordBool; safecall;
    procedure Doonactivate; safecall;
    procedure Doondeactivate; safecall;
    procedure Doonfocusin; safecall;
    procedure Doonfocusout; safecall;
    procedure Doonload; safecall;
    procedure Doonerror; safecall;
    procedure Doonabort; safecall;
  protected
    //SinkEventsProtected//
    Fonhelp: THTMLInputImageEventsonhelpEvent;
    Fonclick: THTMLInputImageEventsonclickEvent;
    Fondblclick: THTMLInputImageEventsondblclickEvent;
    Fonkeypress: THTMLInputImageEventsonkeypressEvent;
    Fonkeydown: THTMLInputImageEventsonkeydownEvent;
    Fonkeyup: THTMLInputImageEventsonkeyupEvent;
    Fonmouseout: THTMLInputImageEventsonmouseoutEvent;
    Fonmouseover: THTMLInputImageEventsonmouseoverEvent;
    Fonmousemove: THTMLInputImageEventsonmousemoveEvent;
    Fonmousedown: THTMLInputImageEventsonmousedownEvent;
    Fonmouseup: THTMLInputImageEventsonmouseupEvent;
    Fonselectstart: THTMLInputImageEventsonselectstartEvent;
    Fonfilterchange: THTMLInputImageEventsonfilterchangeEvent;
    Fondragstart: THTMLInputImageEventsondragstartEvent;
    Fonbeforeupdate: THTMLInputImageEventsonbeforeupdateEvent;
    Fonafterupdate: THTMLInputImageEventsonafterupdateEvent;
    Fonerrorupdate: THTMLInputImageEventsonerrorupdateEvent;
    Fonrowexit: THTMLInputImageEventsonrowexitEvent;
    Fonrowenter: THTMLInputImageEventsonrowenterEvent;
    Fondatasetchanged: THTMLInputImageEventsondatasetchangedEvent;
    Fondataavailable: THTMLInputImageEventsondataavailableEvent;
    Fondatasetcomplete: THTMLInputImageEventsondatasetcompleteEvent;
    Fonlosecapture: THTMLInputImageEventsonlosecaptureEvent;
    Fonpropertychange: THTMLInputImageEventsonpropertychangeEvent;
    Fonscroll: THTMLInputImageEventsonscrollEvent;
    Fonfocus: THTMLInputImageEventsonfocusEvent;
    Fonblur: THTMLInputImageEventsonblurEvent;
    Fonresize: THTMLInputImageEventsonresizeEvent;
    Fondrag: THTMLInputImageEventsondragEvent;
    Fondragend: THTMLInputImageEventsondragendEvent;
    Fondragenter: THTMLInputImageEventsondragenterEvent;
    Fondragover: THTMLInputImageEventsondragoverEvent;
    Fondragleave: THTMLInputImageEventsondragleaveEvent;
    Fondrop: THTMLInputImageEventsondropEvent;
    Fonbeforecut: THTMLInputImageEventsonbeforecutEvent;
    Foncut: THTMLInputImageEventsoncutEvent;
    Fonbeforecopy: THTMLInputImageEventsonbeforecopyEvent;
    Foncopy: THTMLInputImageEventsoncopyEvent;
    Fonbeforepaste: THTMLInputImageEventsonbeforepasteEvent;
    Fonpaste: THTMLInputImageEventsonpasteEvent;
    Foncontextmenu: THTMLInputImageEventsoncontextmenuEvent;
    Fonrowsdelete: THTMLInputImageEventsonrowsdeleteEvent;
    Fonrowsinserted: THTMLInputImageEventsonrowsinsertedEvent;
    Foncellchange: THTMLInputImageEventsoncellchangeEvent;
    Fonreadystatechange: THTMLInputImageEventsonreadystatechangeEvent;
    Fonbeforeeditfocus: THTMLInputImageEventsonbeforeeditfocusEvent;
    Fonlayoutcomplete: THTMLInputImageEventsonlayoutcompleteEvent;
    Fonpage: THTMLInputImageEventsonpageEvent;
    Fonbeforedeactivate: THTMLInputImageEventsonbeforedeactivateEvent;
    Fonbeforeactivate: THTMLInputImageEventsonbeforeactivateEvent;
    Fonmove: THTMLInputImageEventsonmoveEvent;
    Foncontrolselect: THTMLInputImageEventsoncontrolselectEvent;
    Fonmovestart: THTMLInputImageEventsonmovestartEvent;
    Fonmoveend: THTMLInputImageEventsonmoveendEvent;
    Fonresizestart: THTMLInputImageEventsonresizestartEvent;
    Fonresizeend: THTMLInputImageEventsonresizeendEvent;
    Fonmouseenter: THTMLInputImageEventsonmouseenterEvent;
    Fonmouseleave: THTMLInputImageEventsonmouseleaveEvent;
    Fonmousewheel: THTMLInputImageEventsonmousewheelEvent;
    Fonactivate: THTMLInputImageEventsonactivateEvent;
    Fondeactivate: THTMLInputImageEventsondeactivateEvent;
    Fonfocusin: THTMLInputImageEventsonfocusinEvent;
    Fonfocusout: THTMLInputImageEventsonfocusoutEvent;
    Fonload: THTMLInputImageEventsonloadEvent;
    Fonerror: THTMLInputImageEventsonerrorEvent;
    Fonabort: THTMLInputImageEventsonabortEvent;
  published
    //SinkEventsPublished//
    property onhelp: THTMLInputImageEventsonhelpEvent read Fonhelp write Fonhelp;
    property onclick: THTMLInputImageEventsonclickEvent read Fonclick write Fonclick;
    property ondblclick: THTMLInputImageEventsondblclickEvent read Fondblclick write Fondblclick;
    property onkeypress: THTMLInputImageEventsonkeypressEvent read Fonkeypress write Fonkeypress;
    property onkeydown: THTMLInputImageEventsonkeydownEvent read Fonkeydown write Fonkeydown;
    property onkeyup: THTMLInputImageEventsonkeyupEvent read Fonkeyup write Fonkeyup;
    property onmouseout: THTMLInputImageEventsonmouseoutEvent read Fonmouseout write Fonmouseout;
    property onmouseover: THTMLInputImageEventsonmouseoverEvent read Fonmouseover write Fonmouseover;
    property onmousemove: THTMLInputImageEventsonmousemoveEvent read Fonmousemove write Fonmousemove;
    property onmousedown: THTMLInputImageEventsonmousedownEvent read Fonmousedown write Fonmousedown;
    property onmouseup: THTMLInputImageEventsonmouseupEvent read Fonmouseup write Fonmouseup;
    property onselectstart: THTMLInputImageEventsonselectstartEvent read Fonselectstart write Fonselectstart;
    property onfilterchange: THTMLInputImageEventsonfilterchangeEvent read Fonfilterchange write Fonfilterchange;
    property ondragstart: THTMLInputImageEventsondragstartEvent read Fondragstart write Fondragstart;
    property onbeforeupdate: THTMLInputImageEventsonbeforeupdateEvent read Fonbeforeupdate write Fonbeforeupdate;
    property onafterupdate: THTMLInputImageEventsonafterupdateEvent read Fonafterupdate write Fonafterupdate;
    property onerrorupdate: THTMLInputImageEventsonerrorupdateEvent read Fonerrorupdate write Fonerrorupdate;
    property onrowexit: THTMLInputImageEventsonrowexitEvent read Fonrowexit write Fonrowexit;
    property onrowenter: THTMLInputImageEventsonrowenterEvent read Fonrowenter write Fonrowenter;
    property ondatasetchanged: THTMLInputImageEventsondatasetchangedEvent read Fondatasetchanged write Fondatasetchanged;
    property ondataavailable: THTMLInputImageEventsondataavailableEvent read Fondataavailable write Fondataavailable;
    property ondatasetcomplete: THTMLInputImageEventsondatasetcompleteEvent read Fondatasetcomplete write Fondatasetcomplete;
    property onlosecapture: THTMLInputImageEventsonlosecaptureEvent read Fonlosecapture write Fonlosecapture;
    property onpropertychange: THTMLInputImageEventsonpropertychangeEvent read Fonpropertychange write Fonpropertychange;
    property onscroll: THTMLInputImageEventsonscrollEvent read Fonscroll write Fonscroll;
    property onfocus: THTMLInputImageEventsonfocusEvent read Fonfocus write Fonfocus;
    property onblur: THTMLInputImageEventsonblurEvent read Fonblur write Fonblur;
    property onresize: THTMLInputImageEventsonresizeEvent read Fonresize write Fonresize;
    property ondrag: THTMLInputImageEventsondragEvent read Fondrag write Fondrag;
    property ondragend: THTMLInputImageEventsondragendEvent read Fondragend write Fondragend;
    property ondragenter: THTMLInputImageEventsondragenterEvent read Fondragenter write Fondragenter;
    property ondragover: THTMLInputImageEventsondragoverEvent read Fondragover write Fondragover;
    property ondragleave: THTMLInputImageEventsondragleaveEvent read Fondragleave write Fondragleave;
    property ondrop: THTMLInputImageEventsondropEvent read Fondrop write Fondrop;
    property onbeforecut: THTMLInputImageEventsonbeforecutEvent read Fonbeforecut write Fonbeforecut;
    property oncut: THTMLInputImageEventsoncutEvent read Foncut write Foncut;
    property onbeforecopy: THTMLInputImageEventsonbeforecopyEvent read Fonbeforecopy write Fonbeforecopy;
    property oncopy: THTMLInputImageEventsoncopyEvent read Foncopy write Foncopy;
    property onbeforepaste: THTMLInputImageEventsonbeforepasteEvent read Fonbeforepaste write Fonbeforepaste;
    property onpaste: THTMLInputImageEventsonpasteEvent read Fonpaste write Fonpaste;
    property oncontextmenu: THTMLInputImageEventsoncontextmenuEvent read Foncontextmenu write Foncontextmenu;
    property onrowsdelete: THTMLInputImageEventsonrowsdeleteEvent read Fonrowsdelete write Fonrowsdelete;
    property onrowsinserted: THTMLInputImageEventsonrowsinsertedEvent read Fonrowsinserted write Fonrowsinserted;
    property oncellchange: THTMLInputImageEventsoncellchangeEvent read Foncellchange write Foncellchange;
    property onreadystatechange: THTMLInputImageEventsonreadystatechangeEvent read Fonreadystatechange write Fonreadystatechange;
    property onbeforeeditfocus: THTMLInputImageEventsonbeforeeditfocusEvent read Fonbeforeeditfocus write Fonbeforeeditfocus;
    property onlayoutcomplete: THTMLInputImageEventsonlayoutcompleteEvent read Fonlayoutcomplete write Fonlayoutcomplete;
    property onpage: THTMLInputImageEventsonpageEvent read Fonpage write Fonpage;
    property onbeforedeactivate: THTMLInputImageEventsonbeforedeactivateEvent read Fonbeforedeactivate write Fonbeforedeactivate;
    property onbeforeactivate: THTMLInputImageEventsonbeforeactivateEvent read Fonbeforeactivate write Fonbeforeactivate;
    property onmove: THTMLInputImageEventsonmoveEvent read Fonmove write Fonmove;
    property oncontrolselect: THTMLInputImageEventsoncontrolselectEvent read Foncontrolselect write Foncontrolselect;
    property onmovestart: THTMLInputImageEventsonmovestartEvent read Fonmovestart write Fonmovestart;
    property onmoveend: THTMLInputImageEventsonmoveendEvent read Fonmoveend write Fonmoveend;
    property onresizestart: THTMLInputImageEventsonresizestartEvent read Fonresizestart write Fonresizestart;
    property onresizeend: THTMLInputImageEventsonresizeendEvent read Fonresizeend write Fonresizeend;
    property onmouseenter: THTMLInputImageEventsonmouseenterEvent read Fonmouseenter write Fonmouseenter;
    property onmouseleave: THTMLInputImageEventsonmouseleaveEvent read Fonmouseleave write Fonmouseleave;
    property onmousewheel: THTMLInputImageEventsonmousewheelEvent read Fonmousewheel write Fonmousewheel;
    property onactivate: THTMLInputImageEventsonactivateEvent read Fonactivate write Fonactivate;
    property ondeactivate: THTMLInputImageEventsondeactivateEvent read Fondeactivate write Fondeactivate;
    property onfocusin: THTMLInputImageEventsonfocusinEvent read Fonfocusin write Fonfocusin;
    property onfocusout: THTMLInputImageEventsonfocusoutEvent read Fonfocusout write Fonfocusout;
    property onload: THTMLInputImageEventsonloadEvent read Fonload write Fonload;
    property onerror: THTMLInputImageEventsonerrorEvent read Fonerror write Fonerror;
    property onabort: THTMLInputImageEventsonabortEvent read Fonabort write Fonabort;
  end;

  //SinkIntfEnd//

procedure Register;

implementation

uses
  SysUtils;

{ globals }

procedure BuildPositionalDispIds(pDispIds: PDispIdList; const dps: TDispParams);
var
  i: integer;
begin
  Assert(pDispIds <> nil);

  { by default, directly arrange in reverse order }
  for i := 0 to dps.cArgs - 1 do
    pDispIds^[i] := dps.cArgs - 1 - i;

  { check for named args }
  if (dps.cNamedArgs <= 0) then Exit;

  { parse named args }
  for i := 0 to dps.cNamedArgs - 1 do
    pDispIds^[dps.rgdispidNamedArgs^[i]] := i;
end;


{ TMSHTMLEventsBaseSink }

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

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

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

function TMSHTMLEventsBaseSink.Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult;
var
  dps: TDispParams absolute Params;
  bHasParams: boolean;
  pDispIds: PDispIdList;
  iDispIdsSize: integer;
begin
  { validity checks }
  if (Flags and DISPATCH_METHOD = 0) then
    raise Exception.Create(
      Format('%s only supports sinking of method calls!', [ClassName]
      ));

  { build pDispIds array. this maybe a bit of overhead but it allows us to
    sink named-argument calls such as Excel's AppEvents, etc!
  }
  pDispIds := nil;
  iDispIdsSize := 0;
  bHasParams := (dps.cArgs > 0);
  if (bHasParams) then
  begin
    iDispIdsSize := dps.cArgs * SizeOf(TDispId);
    GetMem(pDispIds, iDispIdsSize);
  end; { if }

  try
    { rearrange dispids properly }
    if (bHasParams) then BuildPositionalDispIds(pDispIds, dps);
    Result := DoInvoke(DispId, IID, LocaleID, Flags, dps, pDispIds, VarResult, ExcepInfo, ArgErr);
  finally
    { free pDispIds array }
    if (bHasParams) then FreeMem(pDispIds, iDispIdsSize);
  end; { finally }
end;

function TMSHTMLEventsBaseSink.QueryInterface(const IID: TGUID; out Obj): HResult;
begin
  if (GetInterface(IID, Obj)) then
  begin
    Result := S_OK;
    Exit;
  end
  else
    if (IsEqualIID(IID, FSinkIID)) then
      if (GetInterface(IDispatch, Obj)) then
      begin
        Result := S_OK;
        Exit;
      end;
  Result := E_NOINTERFACE;
  pointer(Obj) := nil;
end;

function TMSHTMLEventsBaseSink._AddRef: Integer;
begin
  Result := 2;
end;

function TMSHTMLEventsBaseSink._Release: Integer;
begin
  Result := 1;
end;

destructor TMSHTMLEventsBaseSink.Destroy;
begin
  Disconnect;
  inherited;
end;

procedure TMSHTMLEventsBaseSink.Connect(const ASource: IUnknown);
var
  pcpc: IConnectionPointContainer;
begin
  Assert(ASource <> nil);
  Disconnect;
  try
    OleCheck(ASource.QueryInterface(IConnectionPointContainer, pcpc));
    OleCheck(pcpc.FindConnectionPoint(FSinkIID, FCP));
    OleCheck(FCP.Advise(Self, FCookie));
    FSource := ASource;
  except
    raise Exception.Create(Format('Unable to connect %s.'#13'%s',
      [Name, Exception(ExceptObject).Message]
      ));
  end; { finally }
end;

procedure TMSHTMLEventsBaseSink.Disconnect;
begin
  if (FSource = nil) then Exit;
  try
    OleCheck(FCP.Unadvise(FCookie));
    FCP := nil;
    FSource := nil;
  except
    pointer(FCP) := nil;
    pointer(FSource) := nil;
  end; { except }
end;


//SinkImplStart//

function TMSHTMLHTMLElementEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLElementEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLElementEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLElementEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLElementEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLElementEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLElementEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLElementEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLElementEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLElementEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLElementEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLElementEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLElementEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLElementEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLElementEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLElementEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLElementEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLElementEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLElementEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLElementEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLElementEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLElementEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLElementEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLElementEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLElementEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLElementEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLElementEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLElementEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLElementEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLElementEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLElementEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;



function TMSHTMLHTMLElementEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLElementEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLElementEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLElementEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLElementEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLElementEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;



function TMSHTMLHTMLLinkElementEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1003:
      begin
        Doonload();
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLLinkElementEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLLinkElementEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLLinkElementEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLLinkElementEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonload;
begin
  if not Assigned(onload) then System.Exit;
  onload(Self);
end;

procedure TMSHTMLHTMLLinkElementEvents.Doonerror;
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self);
end;



function TMSHTMLHTMLLinkElementEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1003:
      begin
        Doonload(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLLinkElementEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLLinkElementEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLLinkElementEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLLinkElementEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonload(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onload) then System.Exit;
  onload(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLinkElementEvents2.Doonerror(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self, pEvtObj);
end;



function TMSHTMLHTMLFormElementEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1007:
      begin
        OleVariant(VarResult^) := Doonsubmit();
        Result := S_OK;
      end;
    1015:
      begin
        OleVariant(VarResult^) := Doonreset();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLFormElementEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLFormElementEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLFormElementEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLFormElementEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLFormElementEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLFormElementEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLFormElementEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLFormElementEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonsubmit: WordBool;
begin
  if not Assigned(onsubmit) then System.Exit;
  Result := onsubmit(Self);
end;

function TMSHTMLHTMLFormElementEvents.Doonreset: WordBool;
begin
  if not Assigned(onreset) then System.Exit;
  Result := onreset(Self);
end;



function TMSHTMLHTMLFormElementEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1007:
      begin
        OleVariant(VarResult^) := Doonsubmit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1015:
      begin
        OleVariant(VarResult^) := Doonreset(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLFormElementEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLFormElementEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLFormElementEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFormElementEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonsubmit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onsubmit) then System.Exit;
  Result := onsubmit(Self, pEvtObj);
end;

function TMSHTMLHTMLFormElementEvents2.Doonreset(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onreset) then System.Exit;
  Result := onreset(Self, pEvtObj);
end;



function TMSHTMLHTMLImgEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1003:
      begin
        Doonload();
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror();
        Result := S_OK;
      end;
    1000:
      begin
        Doonabort();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLImgEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLImgEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLImgEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLImgEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLImgEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLImgEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLImgEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLImgEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLImgEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLImgEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLImgEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLImgEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLImgEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLImgEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLImgEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLImgEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLImgEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLImgEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLImgEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLImgEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLImgEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLImgEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLImgEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLImgEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLImgEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLImgEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLImgEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLImgEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLImgEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonload;
begin
  if not Assigned(onload) then System.Exit;
  onload(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonerror;
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self);
end;

procedure TMSHTMLHTMLImgEvents.Doonabort;
begin
  if not Assigned(onabort) then System.Exit;
  onabort(Self);
end;



function TMSHTMLHTMLImgEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1003:
      begin
        Doonload(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1000:
      begin
        Doonabort(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLImgEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLImgEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLImgEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLImgEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonload(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onload) then System.Exit;
  onload(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonerror(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self, pEvtObj);
end;

procedure TMSHTMLHTMLImgEvents2.Doonabort(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onabort) then System.Exit;
  onabort(Self, pEvtObj);
end;



function TMSHTMLHTMLTextContainerEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1001:
      begin
        Doonchange();
        Result := S_OK;
      end;
    1006:
      begin
        Doonselect();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLTextContainerEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLTextContainerEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLTextContainerEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLTextContainerEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonchange;
begin
  if not Assigned(onchange) then System.Exit;
  onchange(Self);
end;

procedure TMSHTMLHTMLTextContainerEvents.Doonselect;
begin
  if not Assigned(onselect) then System.Exit;
  onselect(Self);
end;



function TMSHTMLHTMLTextContainerEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1001:
      begin
        Doonchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1006:
      begin
        Doonselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLTextContainerEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLTextContainerEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLTextContainerEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLTextContainerEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onchange) then System.Exit;
  onchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTextContainerEvents2.Doonselect(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onselect) then System.Exit;
  onselect(Self, pEvtObj);
end;



function TMSHTMLHTMLAnchorEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLAnchorEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLAnchorEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLAnchorEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLAnchorEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLAnchorEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLAnchorEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLAnchorEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLAnchorEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLAnchorEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;



function TMSHTMLHTMLAnchorEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLAnchorEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLAnchorEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLAnchorEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAnchorEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLAnchorEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;



function TMSHTMLHTMLLabelEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLLabelEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLLabelEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLLabelEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLLabelEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLLabelEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLLabelEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLLabelEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLLabelEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLLabelEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLLabelEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLLabelEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLLabelEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLLabelEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLLabelEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLLabelEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;



function TMSHTMLHTMLLabelEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLLabelEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLLabelEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLLabelEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLLabelEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLLabelEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;



function TMSHTMLHTMLSelectElementEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1001:
      begin
        Doonchange();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLSelectElementEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLSelectElementEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLSelectElementEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLSelectElementEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

procedure TMSHTMLHTMLSelectElementEvents.Doonchange;
begin
  if not Assigned(onchange) then System.Exit;
  onchange(Self);
end;



function TMSHTMLHTMLSelectElementEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1001:
      begin
        Doonchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLSelectElementEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLSelectElementEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLSelectElementEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLSelectElementEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;

procedure TMSHTMLHTMLSelectElementEvents2.Doonchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onchange) then System.Exit;
  onchange(Self, pEvtObj);
end;



function TMSHTMLHTMLInputTextElementEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1001:
      begin
        OleVariant(VarResult^) := Doonchange();
        Result := S_OK;
      end;
    1006:
      begin
        Doonselect();
        Result := S_OK;
      end;
    1003:
      begin
        Doonload();
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror();
        Result := S_OK;
      end;
    1000:
      begin
        Doonabort();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLInputTextElementEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLInputTextElementEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLInputTextElementEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

function TMSHTMLHTMLInputTextElementEvents.Doonchange: WordBool;
begin
  if not Assigned(onchange) then System.Exit;
  Result := onchange(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonselect;
begin
  if not Assigned(onselect) then System.Exit;
  onselect(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonload;
begin
  if not Assigned(onload) then System.Exit;
  onload(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonerror;
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self);
end;

procedure TMSHTMLHTMLInputTextElementEvents.Doonabort;
begin
  if not Assigned(onabort) then System.Exit;
  onabort(Self);
end;



function TMSHTMLHTMLInputTextElementEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1001:
      begin
        OleVariant(VarResult^) := Doonchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1006:
      begin
        Doonselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1003:
      begin
        Doonload(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1000:
      begin
        Doonabort(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLInputTextElementEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLInputTextElementEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLInputTextElementEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;

function TMSHTMLHTMLInputTextElementEvents2.Doonchange(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onchange) then System.Exit;
  Result := onchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonselect(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onselect) then System.Exit;
  onselect(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonload(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onload) then System.Exit;
  onload(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonerror(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self, pEvtObj);
end;

procedure TMSHTMLHTMLInputTextElementEvents2.Doonabort(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onabort) then System.Exit;
  onabort(Self, pEvtObj);
end;



function TMSHTMLHTMLOptionButtonElementEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1001:
      begin
        OleVariant(VarResult^) := Doonchange();
        Result := S_OK;
      end;
    1006:
      begin
        Doonselect();
        Result := S_OK;
      end;
    1003:
      begin
        Doonload();
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror();
        Result := S_OK;
      end;
    1000:
      begin
        Doonabort();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLOptionButtonElementEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLOptionButtonElementEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLOptionButtonElementEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

function TMSHTMLHTMLOptionButtonElementEvents.Doonchange: WordBool;
begin
  if not Assigned(onchange) then System.Exit;
  Result := onchange(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonselect;
begin
  if not Assigned(onselect) then System.Exit;
  onselect(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonload;
begin
  if not Assigned(onload) then System.Exit;
  onload(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonerror;
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self);
end;

procedure TMSHTMLHTMLOptionButtonElementEvents.Doonabort;
begin
  if not Assigned(onabort) then System.Exit;
  onabort(Self);
end;



function TMSHTMLHTMLButtonElementEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLButtonElementEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLButtonElementEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLButtonElementEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLButtonElementEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLButtonElementEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;



function TMSHTMLHTMLButtonElementEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLButtonElementEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLButtonElementEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLButtonElementEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLButtonElementEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLButtonElementEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;



function TMSHTMLHTMLMarqueeElementEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1001:
      begin
        Doonchange();
        Result := S_OK;
      end;
    1006:
      begin
        Doonselect();
        Result := S_OK;
      end;
    1009:
      begin
        Doonbounce();
        Result := S_OK;
      end;
    1010:
      begin
        Doonfinish();
        Result := S_OK;
      end;
    1011:
      begin
        Doonstart();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLMarqueeElementEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLMarqueeElementEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLMarqueeElementEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLMarqueeElementEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonchange;
begin
  if not Assigned(onchange) then System.Exit;
  onchange(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonselect;
begin
  if not Assigned(onselect) then System.Exit;
  onselect(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonbounce;
begin
  if not Assigned(onbounce) then System.Exit;
  onbounce(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonfinish;
begin
  if not Assigned(onfinish) then System.Exit;
  onfinish(Self);
end;

procedure TMSHTMLHTMLMarqueeElementEvents.Doonstart;
begin
  if not Assigned(onstart) then System.Exit;
  onstart(Self);
end;



function TMSHTMLHTMLMarqueeElementEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1001:
      begin
        Doonchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1006:
      begin
        Doonselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1009:
      begin
        Doonbounce(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1010:
      begin
        Doonfinish(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1011:
      begin
        Doonstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLMarqueeElementEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLMarqueeElementEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLMarqueeElementEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLMarqueeElementEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onchange) then System.Exit;
  onchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonselect(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onselect) then System.Exit;
  onselect(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonbounce(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onbounce) then System.Exit;
  onbounce(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonfinish(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfinish) then System.Exit;
  onfinish(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMarqueeElementEvents2.Doonstart(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onstart) then System.Exit;
  onstart(Self, pEvtObj);
end;



function TMSHTMLHTMLWindowEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    1003:
      begin
        Doonload();
        Result := S_OK;
      end;
    1008:
      begin
        Doonunload();
        Result := S_OK;
      end;
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror(dps.rgvarg^[pDispIds^[0]].bstrval, dps.rgvarg^[pDispIds^[1]].bstrval, dps.rgvarg^[pDispIds^[2]].lval);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    1017:
      begin
        Doonbeforeunload();
        Result := S_OK;
      end;
    1024:
      begin
        Doonbeforeprint();
        Result := S_OK;
      end;
    1025:
      begin
        Doonafterprint();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLWindowEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLWindowEvents;
end;

//SinkImplementation//

procedure TMSHTMLHTMLWindowEvents.Doonload;
begin
  if not Assigned(onload) then System.Exit;
  onload(Self);
end;

procedure TMSHTMLHTMLWindowEvents.Doonunload;
begin
  if not Assigned(onunload) then System.Exit;
  onunload(Self);
end;

function TMSHTMLHTMLWindowEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

procedure TMSHTMLHTMLWindowEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLWindowEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLWindowEvents.Doonerror(const description: WideString; const url: WideString; line: Integer);
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self, description, url, line);
end;

procedure TMSHTMLHTMLWindowEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

procedure TMSHTMLHTMLWindowEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLWindowEvents.Doonbeforeunload;
begin
  if not Assigned(onbeforeunload) then System.Exit;
  onbeforeunload(Self);
end;

procedure TMSHTMLHTMLWindowEvents.Doonbeforeprint;
begin
  if not Assigned(onbeforeprint) then System.Exit;
  onbeforeprint(Self);
end;

procedure TMSHTMLHTMLWindowEvents.Doonafterprint;
begin
  if not Assigned(onafterprint) then System.Exit;
  onafterprint(Self);
end;



function TMSHTMLHTMLWindowEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    1003:
      begin
        Doonload(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1008:
      begin
        Doonunload(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror(dps.rgvarg^[pDispIds^[0]].bstrval, dps.rgvarg^[pDispIds^[1]].bstrval, dps.rgvarg^[pDispIds^[2]].lval);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1017:
      begin
        Doonbeforeunload(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1024:
      begin
        Doonbeforeprint(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1025:
      begin
        Doonafterprint(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLWindowEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLWindowEvents2;
end;

//SinkImplementation//

procedure TMSHTMLHTMLWindowEvents2.Doonload(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onload) then System.Exit;
  onload(Self, pEvtObj);
end;

procedure TMSHTMLHTMLWindowEvents2.Doonunload(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onunload) then System.Exit;
  onunload(Self, pEvtObj);
end;

function TMSHTMLHTMLWindowEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

procedure TMSHTMLHTMLWindowEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLWindowEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLWindowEvents2.Doonerror(const description: WideString; const url: WideString; line: Integer);
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self, description, url, line);
end;

procedure TMSHTMLHTMLWindowEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

procedure TMSHTMLHTMLWindowEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLWindowEvents2.Doonbeforeunload(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onbeforeunload) then System.Exit;
  onbeforeunload(Self, pEvtObj);
end;

procedure TMSHTMLHTMLWindowEvents2.Doonbeforeprint(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onbeforeprint) then System.Exit;
  onbeforeprint(Self, pEvtObj);
end;

procedure TMSHTMLHTMLWindowEvents2.Doonafterprint(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterprint) then System.Exit;
  onafterprint(Self, pEvtObj);
end;



function TMSHTMLHTMLDocumentEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    1026:
      begin
        OleVariant(VarResult^) := Doonstop();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1037:
      begin
        Doonselectionchange();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLDocumentEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLDocumentEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLDocumentEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLDocumentEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLDocumentEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

function TMSHTMLHTMLDocumentEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

function TMSHTMLHTMLDocumentEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLDocumentEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

function TMSHTMLHTMLDocumentEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLDocumentEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

function TMSHTMLHTMLDocumentEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLDocumentEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

function TMSHTMLHTMLDocumentEvents.Doonstop: WordBool;
begin
  if not Assigned(onstop) then System.Exit;
  Result := onstop(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonselectionchange;
begin
  if not Assigned(onselectionchange) then System.Exit;
  onselectionchange(Self);
end;

function TMSHTMLHTMLDocumentEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLDocumentEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLDocumentEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

function TMSHTMLHTMLDocumentEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

function TMSHTMLHTMLDocumentEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;



function TMSHTMLHTMLDocumentEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1026:
      begin
        OleVariant(VarResult^) := Doonstop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1037:
      begin
        Doonselectionchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLDocumentEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLDocumentEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLDocumentEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Doonstop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onstop) then System.Exit;
  Result := onstop(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonbeforeeditfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonselectionchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onselectionchange) then System.Exit;
  onselectionchange(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLDocumentEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLDocumentEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;



function TMSHTMLDWebBridgeEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    1:
      begin
        Doonscriptletevent(dps.rgvarg^[pDispIds^[0]].bstrval, OleVariant(dps.rgvarg^[pDispIds^[1]]));
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLDWebBridgeEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := DWebBridgeEvents;
end;

//SinkImplementation//

procedure TMSHTMLDWebBridgeEvents.Doonscriptletevent(const name: WideString; eventData: OleVariant);
begin
  if not Assigned(onscriptletevent) then System.Exit;
  onscriptletevent(Self, name, eventData);
end;

procedure TMSHTMLDWebBridgeEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

function TMSHTMLDWebBridgeEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLDWebBridgeEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

procedure TMSHTMLDWebBridgeEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLDWebBridgeEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

function TMSHTMLDWebBridgeEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLDWebBridgeEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLDWebBridgeEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLDWebBridgeEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;



function TMSHTMLHTMLControlElementEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLControlElementEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLControlElementEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLControlElementEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLControlElementEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLControlElementEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLControlElementEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLControlElementEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLControlElementEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLControlElementEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;



function TMSHTMLHTMLControlElementEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLControlElementEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLControlElementEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLControlElementEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLControlElementEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLControlElementEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;



function TMSHTMLHTMLMapEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLMapEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLMapEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLMapEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLMapEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLMapEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLMapEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLMapEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLMapEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLMapEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLMapEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLMapEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLMapEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLMapEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLMapEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLMapEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLMapEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLMapEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLMapEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLMapEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLMapEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLMapEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLMapEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLMapEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLMapEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLMapEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLMapEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLMapEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLMapEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLMapEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLMapEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;



function TMSHTMLHTMLMapEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLMapEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLMapEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLMapEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLMapEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLMapEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;



function TMSHTMLHTMLAreaEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLAreaEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLAreaEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLAreaEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLAreaEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLAreaEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLAreaEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLAreaEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLAreaEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLAreaEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLAreaEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLAreaEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLAreaEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLAreaEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLAreaEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLAreaEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;



function TMSHTMLHTMLAreaEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLAreaEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLAreaEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLAreaEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLAreaEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLAreaEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;



function TMSHTMLHTMLTableEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLTableEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLTableEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLTableEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLTableEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLTableEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLTableEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLTableEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLTableEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLTableEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLTableEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLTableEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLTableEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLTableEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLTableEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLTableEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLTableEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLTableEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLTableEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLTableEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLTableEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLTableEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLTableEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLTableEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLTableEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLTableEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLTableEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLTableEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLTableEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLTableEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLTableEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;



function TMSHTMLHTMLTableEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLTableEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLTableEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLTableEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLTableEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLTableEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;



function TMSHTMLHTMLScriptEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLScriptEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLScriptEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLScriptEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLScriptEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLScriptEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLScriptEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLScriptEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLScriptEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLScriptEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLScriptEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLScriptEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLScriptEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLScriptEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLScriptEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

procedure TMSHTMLHTMLScriptEvents.Doonerror;
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self);
end;



function TMSHTMLHTMLScriptEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLScriptEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLScriptEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLScriptEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLScriptEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;

procedure TMSHTMLHTMLScriptEvents2.Doonerror(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self, pEvtObj);
end;



function TMSHTMLHTMLObjectElementEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418093:
      begin
        OleVariant(VarResult^) := Doonerror();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -2147418092:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLObjectElementEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLObjectElementEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLObjectElementEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLObjectElementEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLObjectElementEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLObjectElementEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLObjectElementEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLObjectElementEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLObjectElementEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLObjectElementEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

function TMSHTMLHTMLObjectElementEvents.Doonerror: WordBool;
begin
  if not Assigned(onerror) then System.Exit;
  Result := onerror(Self);
end;

procedure TMSHTMLHTMLObjectElementEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLObjectElementEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLObjectElementEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLObjectElementEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;



function TMSHTMLHTMLObjectElementEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        OleVariant(VarResult^) := Doonerror(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLObjectElementEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLObjectElementEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLObjectElementEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLObjectElementEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLObjectElementEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLObjectElementEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLObjectElementEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLObjectElementEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLObjectElementEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLObjectElementEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

function TMSHTMLHTMLObjectElementEvents2.Doonerror(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerror) then System.Exit;
  Result := onerror(Self, pEvtObj);
end;

procedure TMSHTMLHTMLObjectElementEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLObjectElementEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLObjectElementEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLObjectElementEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;



function TMSHTMLHTMLFrameSiteEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1003:
      begin
        Doonload();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLFrameSiteEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLFrameSiteEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLFrameSiteEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLFrameSiteEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

procedure TMSHTMLHTMLFrameSiteEvents.Doonload;
begin
  if not Assigned(onload) then System.Exit;
  onload(Self);
end;



function TMSHTMLHTMLFrameSiteEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1003:
      begin
        Doonload(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLFrameSiteEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLFrameSiteEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLFrameSiteEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLFrameSiteEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;

procedure TMSHTMLHTMLFrameSiteEvents2.Doonload(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onload) then System.Exit;
  onload(Self, pEvtObj);
end;



function TMSHTMLHTMLStyleElementEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1003:
      begin
        Doonload();
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLStyleElementEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLStyleElementEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLStyleElementEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLStyleElementEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonload;
begin
  if not Assigned(onload) then System.Exit;
  onload(Self);
end;

procedure TMSHTMLHTMLStyleElementEvents.Doonerror;
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self);
end;



function TMSHTMLHTMLStyleElementEvents2.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1003:
      begin
        Doonload(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLStyleElementEvents2.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLStyleElementEvents2;
end;

//SinkImplementation//

function TMSHTMLHTMLStyleElementEvents2.Doonhelp(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doondblclick(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonkeypress(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonkeydown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonkeyup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonmouseout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonmouseover(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonmousemove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonmousedown(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonmouseup(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonselectstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonfilterchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doondragstart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonbeforeupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonafterupdate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonerrorupdate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonrowexit(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonrowenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doondatasetchanged(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doondataavailable(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doondatasetcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonlosecapture(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonpropertychange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonscroll(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonfocus(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonblur(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonresize(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doondrag(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doondragend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doondragenter(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doondragover(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doondragleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doondrop(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonbeforecut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Dooncut(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonbeforecopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Dooncopy(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonbeforepaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonpaste(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Dooncontextmenu(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonrowsdelete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonrowsinserted(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Dooncellchange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonlayoutcomplete(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonpage(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonmouseenter(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonmouseleave(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doondeactivate(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonbeforedeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonbeforeactivate(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonfocusin(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonfocusout(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonmove(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Dooncontrolselect(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonmovestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonmoveend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonresizestart(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonresizeend(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self, pEvtObj);
end;

function TMSHTMLHTMLStyleElementEvents2.Doonmousewheel(const pEvtObj: IHTMLEventObj): WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonload(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onload) then System.Exit;
  onload(Self, pEvtObj);
end;

procedure TMSHTMLHTMLStyleElementEvents2.Doonerror(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self, pEvtObj);
end;



function TMSHTMLHTMLNamespaceEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -609:
      begin
        Doonreadystatechange(IUnknown(dps.rgvarg^[pDispIds^[0]].unkval) as IHTMLEventObj);
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLNamespaceEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLNamespaceEvents;
end;

//SinkImplementation//

procedure TMSHTMLHTMLNamespaceEvents.Doonreadystatechange(const pEvtObj: IHTMLEventObj);
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self, pEvtObj);
end;



function TMSHTMLHTMLInputFileElementEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1001:
      begin
        OleVariant(VarResult^) := Doonchange();
        Result := S_OK;
      end;
    1006:
      begin
        Doonselect();
        Result := S_OK;
      end;
    1003:
      begin
        Doonload();
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror();
        Result := S_OK;
      end;
    1000:
      begin
        Doonabort();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLInputFileElementEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLInputFileElementEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLInputFileElementEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

function TMSHTMLHTMLInputFileElementEvents.Doonchange: WordBool;
begin
  if not Assigned(onchange) then System.Exit;
  Result := onchange(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonselect;
begin
  if not Assigned(onselect) then System.Exit;
  onselect(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonload;
begin
  if not Assigned(onload) then System.Exit;
  onload(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonerror;
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self);
end;

procedure TMSHTMLHTMLInputFileElementEvents.Doonabort;
begin
  if not Assigned(onabort) then System.Exit;
  onabort(Self);
end;



function TMSHTMLHTMLInputImageEvents.DoInvoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
  Flags: Word; var dps: TDispParams; pDispIds: PDispIdList;
  VarResult, ExcepInfo, ArgErr: Pointer): HResult;
type
  POleVariant = ^OleVariant;
begin
  Result := DISP_E_MEMBERNOTFOUND;

  //SinkInvoke//
  case DispId of
    -2147418102:
      begin
        OleVariant(VarResult^) := Doonhelp();
        Result := S_OK;
      end;
    -600:
      begin
        OleVariant(VarResult^) := Doonclick();
        Result := S_OK;
      end;
    -601:
      begin
        OleVariant(VarResult^) := Doondblclick();
        Result := S_OK;
      end;
    -603:
      begin
        OleVariant(VarResult^) := Doonkeypress();
        Result := S_OK;
      end;
    -602:
      begin
        Doonkeydown();
        Result := S_OK;
      end;
    -604:
      begin
        Doonkeyup();
        Result := S_OK;
      end;
    -2147418103:
      begin
        Doonmouseout();
        Result := S_OK;
      end;
    -2147418104:
      begin
        Doonmouseover();
        Result := S_OK;
      end;
    -606:
      begin
        Doonmousemove();
        Result := S_OK;
      end;
    -605:
      begin
        Doonmousedown();
        Result := S_OK;
      end;
    -607:
      begin
        Doonmouseup();
        Result := S_OK;
      end;
    -2147418100:
      begin
        OleVariant(VarResult^) := Doonselectstart();
        Result := S_OK;
      end;
    -2147418095:
      begin
        Doonfilterchange();
        Result := S_OK;
      end;
    -2147418101:
      begin
        OleVariant(VarResult^) := Doondragstart();
        Result := S_OK;
      end;
    -2147418108:
      begin
        OleVariant(VarResult^) := Doonbeforeupdate();
        Result := S_OK;
      end;
    -2147418107:
      begin
        Doonafterupdate();
        Result := S_OK;
      end;
    -2147418099:
      begin
        OleVariant(VarResult^) := Doonerrorupdate();
        Result := S_OK;
      end;
    -2147418106:
      begin
        OleVariant(VarResult^) := Doonrowexit();
        Result := S_OK;
      end;
    -2147418105:
      begin
        Doonrowenter();
        Result := S_OK;
      end;
    -2147418098:
      begin
        Doondatasetchanged();
        Result := S_OK;
      end;
    -2147418097:
      begin
        Doondataavailable();
        Result := S_OK;
      end;
    -2147418096:
      begin
        Doondatasetcomplete();
        Result := S_OK;
      end;
    -2147418094:
      begin
        Doonlosecapture();
        Result := S_OK;
      end;
    -2147418093:
      begin
        Doonpropertychange();
        Result := S_OK;
      end;
    1014:
      begin
        Doonscroll();
        Result := S_OK;
      end;
    -2147418111:
      begin
        Doonfocus();
        Result := S_OK;
      end;
    -2147418112:
      begin
        Doonblur();
        Result := S_OK;
      end;
    1016:
      begin
        Doonresize();
        Result := S_OK;
      end;
    -2147418092:
      begin
        OleVariant(VarResult^) := Doondrag();
        Result := S_OK;
      end;
    -2147418091:
      begin
        Doondragend();
        Result := S_OK;
      end;
    -2147418090:
      begin
        OleVariant(VarResult^) := Doondragenter();
        Result := S_OK;
      end;
    -2147418089:
      begin
        OleVariant(VarResult^) := Doondragover();
        Result := S_OK;
      end;
    -2147418088:
      begin
        Doondragleave();
        Result := S_OK;
      end;
    -2147418087:
      begin
        OleVariant(VarResult^) := Doondrop();
        Result := S_OK;
      end;
    -2147418083:
      begin
        OleVariant(VarResult^) := Doonbeforecut();
        Result := S_OK;
      end;
    -2147418086:
      begin
        OleVariant(VarResult^) := Dooncut();
        Result := S_OK;
      end;
    -2147418082:
      begin
        OleVariant(VarResult^) := Doonbeforecopy();
        Result := S_OK;
      end;
    -2147418085:
      begin
        OleVariant(VarResult^) := Dooncopy();
        Result := S_OK;
      end;
    -2147418081:
      begin
        OleVariant(VarResult^) := Doonbeforepaste();
        Result := S_OK;
      end;
    -2147418084:
      begin
        OleVariant(VarResult^) := Doonpaste();
        Result := S_OK;
      end;
    1023:
      begin
        OleVariant(VarResult^) := Dooncontextmenu();
        Result := S_OK;
      end;
    -2147418080:
      begin
        Doonrowsdelete();
        Result := S_OK;
      end;
    -2147418079:
      begin
        Doonrowsinserted();
        Result := S_OK;
      end;
    -2147418078:
      begin
        Dooncellchange();
        Result := S_OK;
      end;
    -609:
      begin
        Doonreadystatechange();
        Result := S_OK;
      end;
    1027:
      begin
        Doonbeforeeditfocus();
        Result := S_OK;
      end;
    1030:
      begin
        Doonlayoutcomplete();
        Result := S_OK;
      end;
    1031:
      begin
        Doonpage();
        Result := S_OK;
      end;
    1034:
      begin
        OleVariant(VarResult^) := Doonbeforedeactivate();
        Result := S_OK;
      end;
    1047:
      begin
        OleVariant(VarResult^) := Doonbeforeactivate();
        Result := S_OK;
      end;
    1035:
      begin
        Doonmove();
        Result := S_OK;
      end;
    1036:
      begin
        OleVariant(VarResult^) := Dooncontrolselect();
        Result := S_OK;
      end;
    1038:
      begin
        OleVariant(VarResult^) := Doonmovestart();
        Result := S_OK;
      end;
    1039:
      begin
        Doonmoveend();
        Result := S_OK;
      end;
    1040:
      begin
        OleVariant(VarResult^) := Doonresizestart();
        Result := S_OK;
      end;
    1041:
      begin
        Doonresizeend();
        Result := S_OK;
      end;
    1042:
      begin
        Doonmouseenter();
        Result := S_OK;
      end;
    1043:
      begin
        Doonmouseleave();
        Result := S_OK;
      end;
    1033:
      begin
        OleVariant(VarResult^) := Doonmousewheel();
        Result := S_OK;
      end;
    1044:
      begin
        Doonactivate();
        Result := S_OK;
      end;
    1045:
      begin
        Doondeactivate();
        Result := S_OK;
      end;
    1048:
      begin
        Doonfocusin();
        Result := S_OK;
      end;
    1049:
      begin
        Doonfocusout();
        Result := S_OK;
      end;
    1003:
      begin
        Doonload();
        Result := S_OK;
      end;
    1002:
      begin
        Doonerror();
        Result := S_OK;
      end;
    1000:
      begin
        Doonabort();
        Result := S_OK;
      end;
  end; { case }
  //SinkInvokeEnd//
end;

constructor TMSHTMLHTMLInputImageEvents.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  //SinkInit//
  FSinkIID := HTMLInputImageEvents;
end;

//SinkImplementation//

function TMSHTMLHTMLInputImageEvents.Doonhelp: WordBool;
begin
  if not Assigned(onhelp) then System.Exit;
  Result := onhelp(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonclick: WordBool;
begin
  if not Assigned(onclick) then System.Exit;
  Result := onclick(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doondblclick: WordBool;
begin
  if not Assigned(ondblclick) then System.Exit;
  Result := ondblclick(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonkeypress: WordBool;
begin
  if not Assigned(onkeypress) then System.Exit;
  Result := onkeypress(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonkeydown;
begin
  if not Assigned(onkeydown) then System.Exit;
  onkeydown(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonkeyup;
begin
  if not Assigned(onkeyup) then System.Exit;
  onkeyup(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonmouseout;
begin
  if not Assigned(onmouseout) then System.Exit;
  onmouseout(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonmouseover;
begin
  if not Assigned(onmouseover) then System.Exit;
  onmouseover(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonmousemove;
begin
  if not Assigned(onmousemove) then System.Exit;
  onmousemove(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonmousedown;
begin
  if not Assigned(onmousedown) then System.Exit;
  onmousedown(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonmouseup;
begin
  if not Assigned(onmouseup) then System.Exit;
  onmouseup(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonselectstart: WordBool;
begin
  if not Assigned(onselectstart) then System.Exit;
  Result := onselectstart(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonfilterchange;
begin
  if not Assigned(onfilterchange) then System.Exit;
  onfilterchange(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doondragstart: WordBool;
begin
  if not Assigned(ondragstart) then System.Exit;
  Result := ondragstart(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonbeforeupdate: WordBool;
begin
  if not Assigned(onbeforeupdate) then System.Exit;
  Result := onbeforeupdate(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonafterupdate;
begin
  if not Assigned(onafterupdate) then System.Exit;
  onafterupdate(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonerrorupdate: WordBool;
begin
  if not Assigned(onerrorupdate) then System.Exit;
  Result := onerrorupdate(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonrowexit: WordBool;
begin
  if not Assigned(onrowexit) then System.Exit;
  Result := onrowexit(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonrowenter;
begin
  if not Assigned(onrowenter) then System.Exit;
  onrowenter(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doondatasetchanged;
begin
  if not Assigned(ondatasetchanged) then System.Exit;
  ondatasetchanged(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doondataavailable;
begin
  if not Assigned(ondataavailable) then System.Exit;
  ondataavailable(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doondatasetcomplete;
begin
  if not Assigned(ondatasetcomplete) then System.Exit;
  ondatasetcomplete(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonlosecapture;
begin
  if not Assigned(onlosecapture) then System.Exit;
  onlosecapture(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonpropertychange;
begin
  if not Assigned(onpropertychange) then System.Exit;
  onpropertychange(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonscroll;
begin
  if not Assigned(onscroll) then System.Exit;
  onscroll(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonfocus;
begin
  if not Assigned(onfocus) then System.Exit;
  onfocus(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonblur;
begin
  if not Assigned(onblur) then System.Exit;
  onblur(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonresize;
begin
  if not Assigned(onresize) then System.Exit;
  onresize(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doondrag: WordBool;
begin
  if not Assigned(ondrag) then System.Exit;
  Result := ondrag(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doondragend;
begin
  if not Assigned(ondragend) then System.Exit;
  ondragend(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doondragenter: WordBool;
begin
  if not Assigned(ondragenter) then System.Exit;
  Result := ondragenter(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doondragover: WordBool;
begin
  if not Assigned(ondragover) then System.Exit;
  Result := ondragover(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doondragleave;
begin
  if not Assigned(ondragleave) then System.Exit;
  ondragleave(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doondrop: WordBool;
begin
  if not Assigned(ondrop) then System.Exit;
  Result := ondrop(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonbeforecut: WordBool;
begin
  if not Assigned(onbeforecut) then System.Exit;
  Result := onbeforecut(Self);
end;

function TMSHTMLHTMLInputImageEvents.Dooncut: WordBool;
begin
  if not Assigned(oncut) then System.Exit;
  Result := oncut(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonbeforecopy: WordBool;
begin
  if not Assigned(onbeforecopy) then System.Exit;
  Result := onbeforecopy(Self);
end;

function TMSHTMLHTMLInputImageEvents.Dooncopy: WordBool;
begin
  if not Assigned(oncopy) then System.Exit;
  Result := oncopy(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonbeforepaste: WordBool;
begin
  if not Assigned(onbeforepaste) then System.Exit;
  Result := onbeforepaste(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonpaste: WordBool;
begin
  if not Assigned(onpaste) then System.Exit;
  Result := onpaste(Self);
end;

function TMSHTMLHTMLInputImageEvents.Dooncontextmenu: WordBool;
begin
  if not Assigned(oncontextmenu) then System.Exit;
  Result := oncontextmenu(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonrowsdelete;
begin
  if not Assigned(onrowsdelete) then System.Exit;
  onrowsdelete(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonrowsinserted;
begin
  if not Assigned(onrowsinserted) then System.Exit;
  onrowsinserted(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Dooncellchange;
begin
  if not Assigned(oncellchange) then System.Exit;
  oncellchange(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonreadystatechange;
begin
  if not Assigned(onreadystatechange) then System.Exit;
  onreadystatechange(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonbeforeeditfocus;
begin
  if not Assigned(onbeforeeditfocus) then System.Exit;
  onbeforeeditfocus(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonlayoutcomplete;
begin
  if not Assigned(onlayoutcomplete) then System.Exit;
  onlayoutcomplete(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonpage;
begin
  if not Assigned(onpage) then System.Exit;
  onpage(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonbeforedeactivate: WordBool;
begin
  if not Assigned(onbeforedeactivate) then System.Exit;
  Result := onbeforedeactivate(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonbeforeactivate: WordBool;
begin
  if not Assigned(onbeforeactivate) then System.Exit;
  Result := onbeforeactivate(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonmove;
begin
  if not Assigned(onmove) then System.Exit;
  onmove(Self);
end;

function TMSHTMLHTMLInputImageEvents.Dooncontrolselect: WordBool;
begin
  if not Assigned(oncontrolselect) then System.Exit;
  Result := oncontrolselect(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonmovestart: WordBool;
begin
  if not Assigned(onmovestart) then System.Exit;
  Result := onmovestart(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonmoveend;
begin
  if not Assigned(onmoveend) then System.Exit;
  onmoveend(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonresizestart: WordBool;
begin
  if not Assigned(onresizestart) then System.Exit;
  Result := onresizestart(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonresizeend;
begin
  if not Assigned(onresizeend) then System.Exit;
  onresizeend(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonmouseenter;
begin
  if not Assigned(onmouseenter) then System.Exit;
  onmouseenter(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonmouseleave;
begin
  if not Assigned(onmouseleave) then System.Exit;
  onmouseleave(Self);
end;

function TMSHTMLHTMLInputImageEvents.Doonmousewheel: WordBool;
begin
  if not Assigned(onmousewheel) then System.Exit;
  Result := onmousewheel(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonactivate;
begin
  if not Assigned(onactivate) then System.Exit;
  onactivate(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doondeactivate;
begin
  if not Assigned(ondeactivate) then System.Exit;
  ondeactivate(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonfocusin;
begin
  if not Assigned(onfocusin) then System.Exit;
  onfocusin(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonfocusout;
begin
  if not Assigned(onfocusout) then System.Exit;
  onfocusout(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonload;
begin
  if not Assigned(onload) then System.Exit;
  onload(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonerror;
begin
  if not Assigned(onerror) then System.Exit;
  onerror(Self);
end;

procedure TMSHTMLHTMLInputImageEvents.Doonabort;
begin
  if not Assigned(onabort) then System.Exit;
  onabort(Self);
end;


//SinkImplEnd//

procedure Register;
begin
  //SinkRegisterStart//
{  RegisterComponents ('ActiveX', [TMSHTMLHTMLElementEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLElementEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLLinkElementEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLLinkElementEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLFormElementEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLFormElementEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLImgEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLImgEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLTextContainerEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLTextContainerEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLAnchorEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLAnchorEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLLabelEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLLabelEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLSelectElementEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLSelectElementEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLInputTextElementEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLInputTextElementEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLOptionButtonElementEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLButtonElementEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLButtonElementEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLMarqueeElementEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLMarqueeElementEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLWindowEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLWindowEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLDocumentEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLDocumentEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLDWebBridgeEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLControlElementEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLControlElementEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLMapEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLMapEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLAreaEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLAreaEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLTableEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLTableEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLScriptEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLScriptEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLObjectElementEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLObjectElementEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLFrameSiteEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLFrameSiteEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLStyleElementEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLStyleElementEvents2]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLNamespaceEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLInputFileElementEvents]);
  RegisterComponents ('ActiveX', [TMSHTMLHTMLInputImageEvents]);}
  //SinkRegisterEnd//
end;

end.
