with GNATCOM.Dispinterface;

package MSHTML.IHTMLControlElement_Interface is

   type IHTMLControlElement_Type is
     new GNATCOM.Dispinterface.Dispinterface_Type with null record;

   procedure Initialize (This : in out IHTMLControlElement_Type);

   function Pointer (This : IHTMLControlElement_Type)
     return Pointer_To_IHTMLControlElement;

   procedure Attach (This    : in out IHTMLControlElement_Type;
                     Pointer : in     Pointer_To_IHTMLControlElement);

   procedure Put_tabIndex
     (This : IHTMLControlElement_Type;
      p    : Interfaces.C.short);

   function Get_tabIndex
     (This : IHTMLControlElement_Type)
     return Interfaces.C.short;

   procedure focus
     (This : IHTMLControlElement_Type);

   procedure Put_accessKey
     (This : IHTMLControlElement_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_accessKey
     (This : IHTMLControlElement_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_onblur
     (This : IHTMLControlElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onblur
     (This : IHTMLControlElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onfocus
     (This : IHTMLControlElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onfocus
     (This : IHTMLControlElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onresize
     (This : IHTMLControlElement_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onresize
     (This : IHTMLControlElement_Type)
     return GNATCOM.Types.VARIANT;

   procedure blur
     (This : IHTMLControlElement_Type);

   procedure addFilter
     (This : IHTMLControlElement_Type;
      pUnk : GNATCOM.Types.Pointer_To_IUnknown);

   procedure removeFilter
     (This : IHTMLControlElement_Type;
      pUnk : GNATCOM.Types.Pointer_To_IUnknown);

   function Get_clientHeight
     (This : IHTMLControlElement_Type)
     return Interfaces.C.long;

   function Get_clientWidth
     (This : IHTMLControlElement_Type)
     return Interfaces.C.long;

   function Get_clientTop
     (This : IHTMLControlElement_Type)
     return Interfaces.C.long;

   function Get_clientLeft
     (This : IHTMLControlElement_Type)
     return Interfaces.C.long;

end MSHTML.IHTMLControlElement_Interface;

