MODULE WinOleCtl ["OC30.dll"];
(**

   project   = "BlackBox"
   organization   = "www.oberon.ch"
   contributors   = "Oberon microsystems"
   version   = "System/Rsrc/About"
   copyright   = "System/Rsrc/About"
   license   = "Docu/BB-License"
   changes   = ""
   issues   = ""

**)

   IMPORT WinOleAut, COM, WinOle, WinApi;

   CONST (* macros *)

      CTL_E_ILLEGALFUNCTIONCALL* = -2146828283;
      CTL_E_OVERFLOW* = -2146828282;
      CTL_E_OUTOFMEMORY* = -2146828281;
      CTL_E_DIVISIONBYZERO* = -2146828277;
      CTL_E_OUTOFSTRINGSPACE* = -2146828274;
      CTL_E_OUTOFSTACKSPACE* = -2146828260;
      CTL_E_BADFILENAMEORNUMBER* = -2146828236;
      CTL_E_FILENOTFOUND* = -2146828235;
      CTL_E_BADFILEMODE* = -2146828234;
      CTL_E_FILEALREADYOPEN* = -2146828233;
      CTL_E_DEVICEIOERROR* = -2146828231;
      CTL_E_FILEALREADYEXISTS* = -2146828230;
      CTL_E_BADRECORDLENGTH* = -2146828229;
      CTL_E_DISKFULL* = -2146828227;
      CTL_E_BADRECORDNUMBER* = -2146828225;
      CTL_E_BADFILENAME* = -2146828224;
      CTL_E_TOOMANYFILES* = -2146828221;
      CTL_E_DEVICEUNAVAILABLE* = -2146828220;
      CTL_E_PERMISSIONDENIED* = -2146828218;
      CTL_E_DISKNOTREADY* = -2146828217;
      CTL_E_PATHFILEACCESSERROR* = -2146828213;
      CTL_E_PATHNOTFOUND* = -2146828212;
      CTL_E_INVALIDPATTERNSTRING* = -2146828195;
      CTL_E_INVALIDUSEOFNULL* = -2146828194;
      CTL_E_INVALIDFILEFORMAT* = -2146827967;
      CTL_E_INVALIDPROPERTYVALUE* = -2146827908;
      CTL_E_INVALIDPROPERTYARRAYINDEX* = -2146827907;
      CTL_E_SETNOTSUPPORTEDATRUNTIME* = -2146827906;
      CTL_E_SETNOTSUPPORTED* = -2146827905;
      CTL_E_NEEDPROPERTYARRAYINDEX* = -2146827903;
      CTL_E_SETNOTPERMITTED* = -2146827901;
      CTL_E_GETNOTSUPPORTEDATRUNTIME* = -2146827895;
      CTL_E_GETNOTSUPPORTED* = -2146827894;
      CTL_E_PROPERTYNOTFOUND* = -2146827866;
      CTL_E_INVALIDCLIPBOARDFORMAT* = -2146827828;
      CTL_E_INVALIDPICTURE* = -2146827807;
      CTL_E_PRINTERERROR* = -2146827806;
      CTL_E_CANTSAVEFILETOTEMP* = -2146827553;
      CTL_E_SEARCHTEXTNOTFOUND* = -2146827544;
      CTL_E_REPLACEMENTSTOOLONG* = -2146827542;
      CTL_E_CUSTOM_FIRST* = -2146827688;
      CLASS_E_NOTLICENSED* = -2147221230;
      CONNECT_E_FIRST* = -2147220992;
      CONNECT_E_LAST* = -2147220977;
      CONNECT_S_FIRST* = 262656;
      CONNECT_S_LAST* = 262671;
      CONNECT_E_NOCONNECTION* = -2147220992;
      CONNECT_E_ADVISELIMIT* = -2147220991;
      CONNECT_E_CANNOTCONNECT* = -2147220990;
      CONNECT_E_OVERRIDDEN* = -2147220989;
      SELFREG_E_FIRST* = -2147220992;
      SELFREG_E_LAST* = -2147220977;
      SELFREG_S_FIRST* = 262656;
      SELFREG_S_LAST* = 262671;
      SELFREG_E_TYPELIB* = -2147220992;
      SELFREG_E_CLASS* = -2147220991;
      PERPROP_E_FIRST* = -2147220992;
      PERPROP_E_LAST* = -2147220977;
      PERPROP_S_FIRST* = 262656;
      PERPROP_S_LAST* = 262671;
      PERPROP_E_NOPAGEAVAILABLE* = -2147220992;
      OLEMISC_INVISIBLEATRUNTIME* = {10};
      OLEMISC_ALWAYSRUN* = {11};
      OLEMISC_ACTSLIKEBUTTON* = {12};
      OLEMISC_ACTSLIKELABEL* = {13};
      OLEMISC_NOUIACTIVATE* = {14};
      OLEMISC_ALIGNABLE* = {15};
      OLEMISC_SIMPLEFRAME* = {16};
      OLEMISC_SETCLIENTSITEFIRST* = {17};
      OLEMISC_IMEMODE* = {18};
      OLEMISC_WANTSTOMENUMERGE* = {19};
      OLEIVERB_PROPERTIES* = -7;
      VT_STREAMED_PROPSET* = 73;
      VT_STORED_PROPSET* = 74;
      VT_BLOB_PROPSET* = 75;
      VT_VERBOSE_ENUM* = 76;
      VT_COLOR* = 3;
      VT_XPOS_PIXELS* = 3;
      VT_YPOS_PIXELS* = 3;
      VT_XSIZE_PIXELS* = 3;
      VT_YSIZE_PIXELS* = 3;
      VT_XPOS_HIMETRIC* = 3;
      VT_YPOS_HIMETRIC* = 3;
      VT_XSIZE_HIMETRIC* = 3;
      VT_YSIZE_HIMETRIC* = 3;
      VT_TRISTATE* = 2;
      VT_OPTEXCLUSIVE* = 11;
      VT_FONT* = 9;
      VT_PICTURE* = 9;
      VT_HANDLE* = 3;
      OCM__BASE* = 8192;
      OCM_COMMAND* = 8465;
      OCM_CTLCOLORBTN* = 8501;
      OCM_CTLCOLOREDIT* = 8499;
      OCM_CTLCOLORDLG* = 8502;
      OCM_CTLCOLORLISTBOX* = 8500;
      OCM_CTLCOLORMSGBOX* = 8498;
      OCM_CTLCOLORSCROLLBAR* = 8503;
      OCM_CTLCOLORSTATIC* = 8504;
      OCM_DRAWITEM* = 8235;
      OCM_MEASUREITEM* = 8236;
      OCM_DELETEITEM* = 8237;
      OCM_VKEYTOITEM* = 8238;
      OCM_CHARTOITEM* = 8239;
      OCM_COMPAREITEM* = 8249;
      OCM_HSCROLL* = 8468;
      OCM_VSCROLL* = 8469;
      OCM_PARENTNOTIFY* = 8720;
      OCM_NOTIFY* = 8270;
      CTRLINFO_EATS_RETURN* = 1;
      CTRLINFO_EATS_ESCAPE* = 2;
      XFORMCOORDS_POSITION* = 1;
      XFORMCOORDS_SIZE* = 2;
      XFORMCOORDS_HIMETRICTOCONTAINER* = 4;
      XFORMCOORDS_CONTAINERTOHIMETRIC* = 8;
      GUIDKIND_DEFAULT_SOURCE_DISP_IID* = 1;
      PROPPAGESTATUS_DIRTY* = 1;
      PROPPAGESTATUS_VALIDATE* = 2;
      PICTURE_SCALABLE* = 1;
      PICTURE_TRANSPARENT* = 2;
      PICTYPE_UNINITIALIZED* = -1;
      PICTYPE_NONE* = 0;
      PICTYPE_BITMAP* = 1;
      PICTYPE_METAFILE* = 2;
      PICTYPE_ICON* = 3;
      PICTYPE_ENHMETAFILE* = 4;
      DISPID_AUTOSIZE* = -500;
      DISPID_BACKCOLOR* = -501;
      DISPID_BACKSTYLE* = -502;
      DISPID_BORDERCOLOR* = -503;
      DISPID_BORDERSTYLE* = -504;
      DISPID_BORDERWIDTH* = -505;
      DISPID_DRAWMODE* = -507;
      DISPID_DRAWSTYLE* = -508;
      DISPID_DRAWWIDTH* = -509;
      DISPID_FILLCOLOR* = -510;
      DISPID_FILLSTYLE* = -511;
      DISPID_FONT* = -512;
      DISPID_FORECOLOR* = -513;
      DISPID_ENABLED* = -514;
      DISPID_HWND* = -515;
      DISPID_TABSTOP* = -516;
      DISPID_TEXT* = -517;
      DISPID_CAPTION* = -518;
      DISPID_BORDERVISIBLE* = -519;
      DISPID_APPEARANCE* = -520;
      DISPID_REFRESH* = -550;
      DISPID_DOCLICK* = -551;
      DISPID_ABOUTBOX* = -552;
      DISPID_CLICK* = -600;
      DISPID_DBLCLICK* = -601;
      DISPID_KEYDOWN* = -602;
      DISPID_KEYPRESS* = -603;
      DISPID_KEYUP* = -604;
      DISPID_MOUSEDOWN* = -605;
      DISPID_MOUSEMOVE* = -606;
      DISPID_MOUSEUP* = -607;
      DISPID_ERROREVENT* = -608;
      DISPID_AMBIENT_BACKCOLOR* = -701;
      DISPID_AMBIENT_DISPLAYNAME* = -702;
      DISPID_AMBIENT_FONT* = -703;
      DISPID_AMBIENT_FORECOLOR* = -704;
      DISPID_AMBIENT_LOCALEID* = -705;
      DISPID_AMBIENT_MESSAGEREFLECT* = -706;
      DISPID_AMBIENT_SCALEUNITS* = -707;
      DISPID_AMBIENT_TEXTALIGN* = -708;
      DISPID_AMBIENT_USERMODE* = -709;
      DISPID_AMBIENT_UIDEAD* = -710;
      DISPID_AMBIENT_SHOWGRABHANDLES* = -711;
      DISPID_AMBIENT_SHOWHATCHING* = -712;
      DISPID_AMBIENT_DISPLAYASDEFAULT* = -713;
      DISPID_AMBIENT_SUPPORTSMNEMONICS* = -714;
      DISPID_AMBIENT_AUTOCLIP* = -715;
      DISPID_AMBIENT_APPEARANCE* = -716;
      DISPID_FONT_NAME* = 0;
      DISPID_FONT_SIZE* = 2;
      DISPID_FONT_BOLD* = 3;
      DISPID_FONT_ITALIC* = 4;
      DISPID_FONT_UNDER* = 5;
      DISPID_FONT_STRIKE* = 6;
      DISPID_FONT_WEIGHT* = 7;
      DISPID_FONT_CHARSET* = 8;
      DISPID_PICT_HANDLE* = 0;
      DISPID_PICT_HPAL* = 2;
      DISPID_PICT_TYPE* = 3;
      DISPID_PICT_WIDTH* = 4;
      DISPID_PICT_HEIGHT* = 5;
      DISPID_PICT_RENDER* = 6;
   CONST (* enumerations *)

      CLSID_CFontPropPage* = "{2542F180-3532-1069-A2CD-00AA0034B50B}";
      CLSID_CColorPropPage* = "{DDF5A600-B9C0-101A-AF1A-00AA0034B50B}";
      CLSID_CPicturePropPage* = "{FC7AF71D-FC74-101A-84ED-08002B2EC713}";
      CLSID_PersistPropset* = "{FB8F0821-0164-101B-84ED-08002B2EC713}";
      CLSID_ConvertVBX* = "{FB8F0822-0164-101B-84ED-08002B2EC713}";
      CLSID_StdFont* = "{FB8F0823-0164-101B-84ED-08002B2EC713}";
      CLSID_StdPicture* = "{FB8F0824-0164-101B-84ED-08002B2EC713}";
      GUID_HIMETRIC* = "{66504300-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_COLOR* = "{66504301-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_XPOSPIXEL* = "{66504302-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_YPOSPIXEL* = "{66504303-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_XSIZEPIXEL* = "{66504304-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_YSIZEPIXEL* = "{66504305-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_XPOS* = "{66504306-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_YPOS* = "{66504307-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_XSIZE* = "{66504308-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_YSIZE* = "{66504309-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_TRISTATE* = "{6650430A-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_OPTIONVALUEEXCLUSIVE* = "{6650430B-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_CHECKVALUEEXCLUSIVE* = "{6650430C-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_FONTNAME* = "{6650430D-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_FONTSIZE* = "{6650430E-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_FONTBOLD* = "{6650430F-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_FONTITALIC* = "{66504310-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_FONTUNDERSCORE* = "{66504311-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_FONTSTRIKETHROUGH* = "{66504312-BE0F-101A-8BBB-00AA00300CAB}";
      GUID_HANDLE* = "{66504313-BE0F-101A-8BBB-00AA00300CAB}";
      triUnchecked* = 0;
      triChecked* = 1;
      triGray* = 2;
   TYPE

      TEXTMETRICOLE* = WinApi.TEXTMETRICW;
      PtrTEXTMETRICOLE* = WinApi.PtrTEXTMETRICW;
      OLE_COLOR* = INTEGER;
      OLE_XPOS_PIXELS* = INTEGER;
      OLE_YPOS_PIXELS* = INTEGER;
      OLE_XSIZE_PIXELS* = INTEGER;
      OLE_YSIZE_PIXELS* = INTEGER;
      OLE_XPOS_HIMETRIC* = INTEGER;
      OLE_YPOS_HIMETRIC* = INTEGER;
      OLE_XSIZE_HIMETRIC* = INTEGER;
      OLE_YSIZE_HIMETRIC* = INTEGER;
      OLE_XPOS_CONTAINER* = SHORTREAL;
      OLE_YPOS_CONTAINER* = SHORTREAL;
      OLE_XSIZE_CONTAINER* = SHORTREAL;
      OLE_YSIZE_CONTAINER* = SHORTREAL;
      OLE_TRISTATE* = INTEGER;
      OLE_OPTEXCLUSIVE* = WinOle.VARIANT_BOOL;
      OLE_CANCELBOOL* = WinOle.VARIANT_BOOL;
      OLE_ENABLEDEFAULTBOOL* = WinOle.VARIANT_BOOL;
      OLE_HANDLE* = INTEGER;
      POINTF* = RECORD [untagged]
         x*: SHORTREAL;
         y*: SHORTREAL;
      END;
      PtrPOINTF* = POINTER TO POINTF;
      CONTROLINFO* = RECORD [untagged]
         cb*: INTEGER;
         hAccel*: WinApi.HACCEL;
         cAccel*: SHORTINT;
         dwFlags*: SET;
      END;
      PtrCONTROLINFO* = POINTER TO CONTROLINFO;
      IOleControl* = POINTER TO ABSTRACT RECORD ["{B196B288-BAB4-101A-B69C-00AA00341D07}"] (COM.IUnknown)
      END;
      IOleControlSite* = POINTER TO ABSTRACT RECORD ["{B196B289-BAB4-101A-B69C-00AA00341D07}"] (COM.IUnknown)
      END;
      ISimpleFrameSite* = POINTER TO ABSTRACT RECORD ["{742B0E01-14E6-101B-914E-00AA00300CAB}"] (COM.IUnknown)
      END;
      IErrorLog* = POINTER TO ABSTRACT RECORD [interface] (COM.IUnknown)
      END;
      IPropertyBag* = POINTER TO ABSTRACT RECORD [interface] (COM.IUnknown)
      END;
      IPersistPropertyBag* = POINTER TO ABSTRACT RECORD [interface] (WinOle.IPersist)
      END;
      IPersistStreamInit* = POINTER TO ABSTRACT RECORD ["{7FD52380-4E07-101B-AE2D-08002B2EC713}"] (WinOle.IPersist)
      END;
      IPersistMemory* = POINTER TO ABSTRACT RECORD [interface] (WinOle.IPersist)
      END;
      IPropertyNotifySink* = POINTER TO ABSTRACT RECORD ["{9BFBBC02-EFF1-101A-84ED-00AA00341D07}"] (COM.IUnknown)
      END;
      IProvideClassInfo* = POINTER TO ABSTRACT RECORD ["{B196B283-BAB4-101A-B69C-00AA00341D07}"] (COM.IUnknown)
      END;
      IProvideClassInfo2* = POINTER TO ABSTRACT RECORD ["{A6BC3AC0-DBAA-11CE-9DE3-00AA004BB851}"] (IProvideClassInfo)
      END;
      LICINFO* = RECORD [untagged]
         cbLicInfo*: INTEGER;
         fRuntimeKeyAvail*: WinApi.BOOL;
         fLicVerified*: WinApi.BOOL;
      END;
      PtrLICINFO* = POINTER TO LICINFO;
      IClassFactory2* = POINTER TO ABSTRACT RECORD ["{B196B28F-BAB4-101A-B69C-00AA00341D07}"] (WinOle.IClassFactory)
      END;
      CAUUID* = RECORD [untagged]
         cElems*: INTEGER;
         pElems*: POINTER TO (*?*) ARRAY [untagged] OF COM.GUID;
      END;
      PtrCAUUID* = POINTER TO CAUUID;
      CALPOLESTR* = RECORD [untagged]
         cElems*: INTEGER;
         pElems*: POINTER TO (*?*) ARRAY [untagged] OF WinApi.PtrWSTR;
      END;
      PtrCALPOLESTR* = POINTER TO CALPOLESTR;
      CADWORD* = RECORD [untagged]
         cElems*: INTEGER;
         pElems*: POINTER TO (*?*) ARRAY [untagged] OF INTEGER;
      END;
      PtrCADWORD* = POINTER TO CADWORD;
      OCPFIPARAMS* = RECORD [untagged]
         cbStructSize*: INTEGER;
         hWndOwner*: WinApi.HWND;
         x*: INTEGER;
         y*: INTEGER;
         lpszCaption*: WinApi.PtrWSTR;
         cObjects*: INTEGER;
         lplpUnk*: POINTER TO (*?*) ARRAY [untagged] OF COM.IUnknown;
         cPages*: INTEGER;
         lpPages*: POINTER TO (*?*) ARRAY [untagged] OF COM.GUID;
         lcid*: WinOle.LCID;
         dispidInitialProperty*: WinOleAut.DISPID;
      END;
      PtrOCPFIPARAMS* = POINTER TO OCPFIPARAMS;
      PROPPAGEINFO* = RECORD [untagged]
         cb*: INTEGER;
         pszTitle*: WinApi.PtrWSTR;
         size*: WinApi.SIZE;
         pszDocString*: WinApi.PtrWSTR;
         pszHelpFile*: WinApi.PtrWSTR;
         dwHelpContext*: INTEGER;
      END;
      PtrPROPPAGEINFO* = POINTER TO PROPPAGEINFO;
      ISpecifyPropertyPages* = POINTER TO ABSTRACT RECORD ["{B196B28B-BAB4-101A-B69C-00AA00341D07}"] (COM.IUnknown)
      END;
      IPerPropertyBrowsing* = POINTER TO ABSTRACT RECORD ["{376BD3AA-3845-101B-84ED-08002B2EC713}"] (COM.IUnknown)
      END;
      IPropertyPageSite* = POINTER TO ABSTRACT RECORD ["{B196B28C-BAB4-101A-B69C-00AA00341D07}"] (COM.IUnknown)
      END;
      IPropertyPage* = POINTER TO ABSTRACT RECORD ["{B196B28D-BAB4-101A-B69C-00AA00341D07}"] (COM.IUnknown)
      END;
      IPropertyPage2* = POINTER TO ABSTRACT RECORD ["{01E44665-24AC-101B-84ED-08002B2EC713}"] (IPropertyPage)
      END;
      IFont* = POINTER TO ABSTRACT RECORD ["{BEF6E002-A874-101A-8BBA-00AA00300CAB}"] (COM.IUnknown)
      END;
      IFontDisp* = POINTER TO ABSTRACT RECORD ["{BEF6E003-A874-101A-8BBA-00AA00300CAB}"] (WinOleAut.IDispatch)
      END;
      FONTDESC* = RECORD [align8]
         cbSizeofstruct*: INTEGER;
         lpstrName*: WinApi.PtrWSTR;
         cySize*: WinApi.CY;
         sWeight*: SHORTINT;
         sCharset*: SHORTINT;
         fItalic*: WinApi.BOOL;
         fUnderline*: WinApi.BOOL;
         fStrikethrough*: WinApi.BOOL;
      END;
      PtrFONTDESC* = POINTER TO FONTDESC;
      IPicture* = POINTER TO ABSTRACT RECORD ["{7BF80980-BF32-101A-8BBB-00AA00300CAB}"] (COM.IUnknown)
      END;
      IPictureDisp* = POINTER TO ABSTRACT RECORD ["{7BF80981-BF32-101A-8BBB-00AA00300CAB}"] (WinOleAut.IDispatch)
      END;
      INTERFACE* = IPictureDisp;
      PICTDESC* = RECORD [untagged]
         cbSizeofstruct*: INTEGER;
         picType*: INTEGER;
         u*: RECORD [union]
            bmp*: RECORD [untagged]
               hbitmap*: WinApi.HBITMAP;
               hpal*: WinApi.HPALETTE;
            END;
            wmf*: RECORD [untagged]
               hmeta*: WinApi.HMETAFILE;
               xExt*: INTEGER;
               yExt*: INTEGER;
            END;
            icon*: RECORD [untagged]
               hicon*: WinApi.HICON;
            END;
            emf*: RECORD [untagged]
               hemf*: WinApi.HENHMETAFILE;
            END;
         END;
      END;
      PtrPICTDESC* = POINTER TO PICTDESC;
   PROCEDURE (this: IOleControl) GetControlInfo* (VAR [nil] pCI: CONTROLINFO): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IOleControl) OnMnemonic* (VAR [nil] pMsg: WinApi.MSG): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IOleControl) OnAmbientPropertyChange* (dispid: WinOleAut.DISPID): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IOleControl) FreezeEvents* (bFreeze: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IOleControlSite) OnControlInfoChanged* (): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IOleControlSite) LockInPlaceActive* (fLock: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IOleControlSite) GetExtendedControl* (VAR [nil] ppDisp: WinOleAut.IDispatch): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IOleControlSite) TransformCoords* (VAR [nil] lpptlHimetric: WinApi.POINT; VAR [nil] lpptfContainer: POINTF; flags: SET): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IOleControlSite) TranslateAccelerator* (VAR [nil] lpMsg: WinApi.MSG; grfModifiers: INTEGER): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IOleControlSite) OnFocus* (fGotFocus: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IOleControlSite) ShowPropertyFrame* (): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: ISimpleFrameSite) PreMessageFilter* (hwnd: WinApi.HWND; msg: INTEGER; wp: WinApi.WPARAM; lp: WinApi.LPARAM; VAR [nil] lplResult: WinApi.LRESULT; VAR [nil] lpdwCookie: INTEGER): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: ISimpleFrameSite) PostMessageFilter* (hwnd: WinApi.HWND; msg: INTEGER; wp: WinApi.WPARAM; lp: WinApi.LPARAM; VAR [nil] lplResult: WinApi.LRESULT; dwCookie: INTEGER): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IErrorLog) AddError* (pszPropName: WinApi.PtrWSTR; VAR [nil] pExcepInfo: WinOleAut.EXCEPINFO): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyBag) Read* (pszPropName: WinApi.PtrWSTR; VAR [nil] pVar: WinOleAut.VARIANT; pErrorLog: IErrorLog): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyBag) Write* (pszPropName: WinApi.PtrWSTR; VAR [nil] pVar: WinOleAut.VARIANT): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPersistPropertyBag) InitNew* (): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPersistPropertyBag) Load* (pPropBag: IPropertyBag; pErrorLog: IErrorLog): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPersistPropertyBag) Save* (pPropBag: IPropertyBag; fClearDirty: WinApi.BOOL; fSaveAllProperties: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPersistStreamInit) IsDirty* (): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPersistStreamInit) Load* (pStm: WinOle.IStream): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPersistStreamInit) Save* (pStm: WinOle.IStream; fClearDirty: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPersistStreamInit) GetSizeMax* (VAR [nil] pcbSize: LONGINT): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPersistStreamInit) InitNew* (): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPersistMemory) IsDirty* (): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPersistMemory) Load* (lpStream: WinApi.PtrVoid; cbSize: INTEGER): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPersistMemory) Save* (lpStream: WinApi.PtrVoid; fClearDirty: WinApi.BOOL; cbSize: INTEGER): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPersistMemory) GetSizeMax* (VAR [nil] pcbSize: INTEGER): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPersistMemory) InitNew* (): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyNotifySink) OnChanged* (dispid: WinOleAut.DISPID): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyNotifySink) OnRequestEdit* (dispid: WinOleAut.DISPID): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IProvideClassInfo) GetClassInfoA* (VAR [nil] ppTI: WinOleAut.ITypeInfo): COM.RESULT, NEW, ABSTRACT;

   
   PROCEDURE (this: IProvideClassInfo2) GetGUID* (dwGuidKind: INTEGER; VAR [nil] pGUID: COM.GUID): COM.RESULT, NEW, ABSTRACT;
   PROCEDURE (this: IClassFactory2) GetLicInfo* (VAR [nil] pLicInfo: LICINFO): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IClassFactory2) RequestLicKey* (dwResrved: INTEGER; VAR [nil] pbstrKey: WinOle.BSTR): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IClassFactory2) CreateInstanceLic* (pUnkOuter: COM.IUnknown; pUnkReserved: COM.IUnknown; IN [iid] riid: COM.GUID; bstrKey: WinOle.BSTR; OUT [new] ppvObject: COM.IUnknown): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: ISpecifyPropertyPages) GetPages* (VAR [nil] pPages: CAUUID): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPerPropertyBrowsing) GetDisplayString* (dispid: WinOleAut.DISPID; VAR [nil] lpbstr: WinOle.BSTR): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPerPropertyBrowsing) MapPropertyToPage* (dispid: WinOleAut.DISPID; VAR [nil] lpclsid: COM.GUID): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPerPropertyBrowsing) GetPredefinedStrings* (dispid: WinOleAut.DISPID; VAR [nil] lpcaStringsOut: CALPOLESTR; VAR [nil] lpcaCookiesOut: CADWORD): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPerPropertyBrowsing) GetPredefinedValue* (dispid: WinOleAut.DISPID; dwCookie: INTEGER; VAR [nil] lpvarOut: WinOleAut.VARIANT): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPageSite) OnStatusChange* (flags: SET): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPageSite) GetLocaleID* (VAR [nil] pLocaleID: WinOle.LCID): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPageSite) GetPageContainer* (VAR [nil] ppUnk: COM.IUnknown): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPageSite) TranslateAccelerator* (VAR [nil] lpMsg: WinApi.MSG): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPage) SetPageSite* (pPageSite: IPropertyPageSite): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPage) Activate* (hwndParent: WinApi.HWND; VAR [nil] lprc: WinApi.RECT; bModal: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPage) Deactivate* (): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPage) GetPageInfo* (VAR [nil] pPageInfo: PROPPAGEINFO): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPage) SetObjects* (cObjects: INTEGER; VAR [nil] ppunk: COM.IUnknown): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPage) Show* (nCmdShow: INTEGER): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPage) Move* (VAR [nil] prect: WinApi.RECT): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPage) IsPageDirty* (): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPage) Apply* (): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPage) Help* (lpszHelpDir: WinApi.PtrWSTR): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPage) TranslateAccelerator* (VAR [nil] lpMsg: WinApi.MSG): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPropertyPage2) EditProperty* (dispid: WinOleAut.DISPID): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) get_Name* (VAR [nil] pname: WinOle.BSTR): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) put_Name* (name: WinOle.BSTR): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) get_Size* (VAR [nil] psize: WinApi.CY): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) put_Size* (size: WinApi.CY): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) get_Bold* (VAR [nil] pbold: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) put_Bold* (bold: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) get_Italic* (VAR [nil] pitalic: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) put_Italic* (italic: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) get_Underline* (VAR [nil] punderline: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) put_Underline* (underline: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) get_Strikethrough* (VAR [nil] pstrikethrough: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) put_Strikethrough* (strikethrough: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) get_Weight* (VAR [nil] pweight: SHORTINT): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) put_Weight* (weight: SHORTINT): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) get_Charset* (VAR [nil] pcharset: SHORTINT): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) put_Charset* (charset: SHORTINT): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) get_hFont* (VAR [nil] phfont: WinApi.HFONT): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) Clone* (VAR [nil] lplpfont: IFont): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) IsEqual* (lpFontOther: IFont): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) SetRatio* (cyLogical: INTEGER; cyHimetric: INTEGER): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) QueryTextMetrics* (VAR [nil] lptm: TEXTMETRICOLE): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) AddRefHfont* (hfont: WinApi.HFONT): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) ReleaseHfont* (hfont: WinApi.HFONT): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IFont) SetHdc* (hdc: WinApi.HDC): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) get_Handle* (VAR [nil] phandle: OLE_HANDLE): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) get_hPal* (VAR [nil] phpal: OLE_HANDLE): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) get_Type* (VAR [nil] ptype: SHORTINT): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) get_Width* (VAR [nil] pwidth: OLE_XSIZE_HIMETRIC): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) get_Height* (VAR [nil] pheight: OLE_YSIZE_HIMETRIC): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) Render* (hdc: WinApi.HDC; x: INTEGER; y: INTEGER; cx: INTEGER; cy: INTEGER; xSrc: OLE_XPOS_HIMETRIC; ySrc: OLE_YPOS_HIMETRIC; cxSrc: OLE_XSIZE_HIMETRIC; cySrc: OLE_YSIZE_HIMETRIC; VAR [nil] lprcWBounds: WinApi.RECT): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) set_hPal* (hpal: OLE_HANDLE): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) get_CurDC* (VAR [nil] phdcOut: WinApi.HDC): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) SelectPicture* (hdcIn: WinApi.HDC; VAR [nil] phdcOut: WinApi.HDC; VAR [nil] phbmpOut: OLE_HANDLE): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) get_KeepOriginalFormat* (VAR [nil] pfkeep: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) put_KeepOriginalFormat* (fkeep: WinApi.BOOL): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) PictureChanged* (): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) SaveAsFile* (lpstream: WinOle.IStream; fSaveMemCopy: WinApi.BOOL; VAR [nil] lpcbSize: INTEGER): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE (this: IPicture) get_Attributes* (VAR [nil] lpdwAttr: INTEGER): COM.RESULT, NEW, ABSTRACT;

   PROCEDURE OleCreatePropertyFrame* (hwndOwner: WinApi.HWND; x: INTEGER; y: INTEGER; lpszCaption: WinApi.PtrWSTR; cObjects: INTEGER; VAR [nil] ppUnk: COM.IUnknown; cPages: INTEGER; VAR [nil] pPageClsID: COM.GUID; lcid: WinOle.LCID; dwReserved: INTEGER; pvReserved: WinApi.PtrVoid): COM.RESULT;

   PROCEDURE OleCreatePropertyFrameIndirect* (VAR [nil] lpParams: OCPFIPARAMS): COM.RESULT;

   PROCEDURE OleTranslateColor* (clr: OLE_COLOR; hpal: WinApi.HPALETTE; VAR [nil] lpcolorref: WinApi.COLORREF): COM.RESULT;

   PROCEDURE OleCreateFontIndirect* (VAR [nil] lpFontDesc: FONTDESC; IN [iid] riid: COM.GUID; OUT [new] lplpvObj: COM.IUnknown): COM.RESULT;

   PROCEDURE OleCreatePictureIndirect* (VAR [nil] lpPictDesc: PICTDESC; IN [iid] riid: COM.GUID; fOwn: WinApi.BOOL; OUT [new] lplpvObj: COM.IUnknown): COM.RESULT;

   PROCEDURE OleLoadPicture* (lpstream: WinOle.IStream; lSize: INTEGER; fRunmode: WinApi.BOOL; IN [iid] riid: COM.GUID; OUT [new] lplpvObj: COM.IUnknown): COM.RESULT;

   PROCEDURE OleIconToCursor* (hinstExe: WinApi.HINSTANCE; hIcon: WinApi.HICON): WinApi.HCURSOR;

END WinOleCtl.