home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / OLECTNRS.HPP < prev    next >
C/C++ Source or Header  |  1997-02-28  |  16KB  |  400 lines

  1. //----------------------------------------------------------------------------
  2. // OleCtnrs.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: OleCtnrs.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef OleCtnrsHPP
  6. #define OleCtnrsHPP
  7. //----------------------------------------------------------------------------
  8. #include <OleAuto.hpp>
  9. #include <Graphics.hpp>
  10. #include <Menus.hpp>
  11. #include <Forms.hpp>
  12. #include <Controls.hpp>
  13. #include <Classes.hpp>
  14. #include <SysUtils.hpp>
  15. #include <OleDlg.hpp>
  16. #include <OLE2.hpp>
  17. #include <CommCtrl.hpp>
  18. #include <Messages.hpp>
  19. #include <Windows.hpp>
  20. #include <System.hpp>
  21. #pragma warn -par
  22. #pragma warn -hid 
  23. #pragma warn -inl
  24.  
  25. namespace Olectnrs
  26. {
  27. //-- type declarations -------------------------------------------------------
  28. class __declspec(delphiclass) TOleClientSite;
  29. class __declspec(delphiclass) TOleContainer;
  30. class __declspec(delphiclass) TOleInPlaceSite;
  31. class __declspec(pascalimplementation) TOleInPlaceSite : public Ole2::IOleInPlaceSite
  32. {
  33.     typedef Ole2::IOleInPlaceSite inherited;
  34.     
  35. private:
  36.     TOleContainer* FContainer;
  37.     
  38. public:
  39.     __fastcall TOleInPlaceSite(TOleContainer* Container);
  40.     virtual long __stdcall QueryInterface(const GUID &iid, void *obj);
  41.     virtual long __stdcall AddRef(void);
  42.     virtual long __stdcall Release(void);
  43.     virtual long __stdcall GetWindow(HWND &wnd);
  44.     virtual long __stdcall ContextSensitiveHelp(DWord fEnterMode);
  45.     virtual long __stdcall CanInPlaceActivate(void);
  46.     virtual long __stdcall OnInPlaceActivate(void);
  47.     virtual long __stdcall OnUIActivate(void);
  48.     virtual long __stdcall GetWindowContext(Ole2::IOleInPlaceFrame* &frame, Ole2::IOleInPlaceUIWindow* 
  49.         &doc, Windows::TRect &rcPosRect, Windows::TRect &rcClipRect, OLEINPLACEFRAMEINFO &frameInfo);
  50.     virtual long __stdcall Scroll(const POINT &scrollExtent);
  51.     virtual long __stdcall OnUIDeactivate(DWord fUndoable);
  52.     virtual long __stdcall OnInPlaceDeactivate(void);
  53.     virtual long __stdcall DiscardUndoState(void);
  54.     virtual long __stdcall DeactivateAndUndo(void);
  55.     virtual long __stdcall OnPosRectChange(const Windows::TRect &rcPosRect);
  56. public:
  57.     /* TObject.Destroy */ __fastcall virtual ~TOleInPlaceSite(void) { }
  58.     
  59. };
  60.  
  61. class __declspec(delphiclass) TAdviseSink;
  62. class __declspec(pascalimplementation) TAdviseSink : public Ole2::IAdviseSink
  63. {
  64.     typedef Ole2::IAdviseSink inherited;
  65.     
  66. private:
  67.     TOleContainer* FContainer;
  68.     
  69. public:
  70.     __fastcall TAdviseSink(TOleContainer* Container);
  71.     virtual long __stdcall QueryInterface(const GUID &iid, void *obj);
  72.     virtual long __stdcall AddRef(void);
  73.     virtual long __stdcall Release(void);
  74.     virtual void __stdcall OnDataChange(FORMATETC &formatetc, STGMEDIUM &stgmed);
  75.     virtual void __stdcall OnViewChange(long dwAspect, long lindex);
  76.     virtual void __stdcall OnRename(Ole2::IMoniker* mk);
  77.     virtual void __stdcall OnSave(void);
  78.     virtual void __stdcall OnClose(void);
  79. public:
  80.     /* TObject.Destroy */ __fastcall virtual ~TAdviseSink(void) { }
  81.     
  82. };
  83.  
  84. class __declspec(delphiclass) TOleForm;
  85. class __declspec(delphiclass) TOleInPlaceFrame;
  86. class __declspec(pascalimplementation) TOleInPlaceFrame : public Ole2::IOleInPlaceFrame
  87. {
  88.     typedef Ole2::IOleInPlaceFrame inherited;
  89.     
  90. private:
  91.     TOleForm* FOleForm;
  92.     
  93. public:
  94.     __fastcall TOleInPlaceFrame(TOleForm* OleForm);
  95.     virtual long __stdcall QueryInterface(const GUID &iid, void *obj);
  96.     virtual long __stdcall AddRef(void);
  97.     virtual long __stdcall Release(void);
  98.     virtual long __stdcall GetWindow(HWND &wnd);
  99.     virtual long __stdcall ContextSensitiveHelp(DWord fEnterMode);
  100.     virtual long __stdcall GetBorder(Windows::TRect &rectBorder);
  101.     virtual long __stdcall RequestBorderSpace(const Windows::TRect &borderwidths);
  102.     virtual long __stdcall SetBorderSpace(Windows::PRect pborderwidths);
  103.     virtual long __stdcall SetActiveObject(Ole2::IOleInPlaceActiveObject* activeObject, wchar_t * pszObjName
  104.         );
  105.     virtual long __stdcall InsertMenus(HMENU hmenuShared, OLEMENUGROUPWIDTHS &menuWidths);
  106.     virtual long __stdcall SetMenu(HMENU hmenuShared, HMENU holemenu, HWND hwndActiveObject);
  107.     virtual long __stdcall RemoveMenus(HMENU hmenuShared);
  108.     virtual long __stdcall SetStatusText(wchar_t * pszStatusText);
  109.     virtual long __stdcall EnableModeless(DWord fEnable);
  110.     virtual long __stdcall TranslateAccelerator(MSG &msg, Word wID);
  111. public:
  112.     /* TObject.Destroy */ __fastcall virtual ~TOleInPlaceFrame(void) { }
  113.     
  114. };
  115.  
  116. class __declspec(pascalimplementation) TOleForm : public Forms::TOleFormObject
  117. {
  118.     typedef Forms::TOleFormObject inherited;
  119.     
  120. private:
  121.     int FRefCount;
  122.     Forms::TForm* FForm;
  123.     TOleInPlaceFrame* FOleInPlaceFrame;
  124.     Classes::TList* FContainers;
  125.     Ole2::IOleInPlaceActiveObject* FActiveObject;
  126.     int FSaveWidth;
  127.     int FSaveHeight;
  128.     Classes::TList* FHiddenControls;
  129.     Controls::TControl* FSpacers[4];
  130.     long __fastcall AddRef(void);
  131.     bool __fastcall BorderSpaceAvailable(const Windows::TRect &BorderWidths);
  132.     void __fastcall ClearBorderSpace(void);
  133.     void __fastcall GetBorder(Windows::TRect &BorderRect);
  134.     bool __fastcall IsSpacer(Controls::TControl* Control);
  135.     bool __fastcall IsToolControl(Controls::TControl* Control);
  136.     long __fastcall Release(void);
  137.     void __fastcall SetActiveObject(Ole2::IOleInPlaceActiveObject* ActiveObject);
  138.     bool __fastcall SetBorderSpace(const Windows::TRect &BorderWidths);
  139.     
  140. protected:
  141.     virtual void __fastcall OnDestroy(void);
  142.     virtual void __fastcall OnResize(void);
  143.     
  144. public:
  145.     __fastcall TOleForm(Forms::TForm* Form);
  146.     __fastcall virtual ~TOleForm(void);
  147. };
  148.  
  149. enum TAutoActivate { aaManual, aaGetFocus, aaDoubleClick };
  150.  
  151. enum TSizeMode { smClip, smCenter, smScale, smStretch, smAutoSize };
  152.  
  153. typedef void __fastcall (__closure *TObjectMoveEvent)(TOleContainer* OleContainer, const Windows::TRect 
  154.     &Bounds);
  155.  
  156. enum TObjectState { osEmpty, osLoaded, osRunning, osOpen, osInPlaceActive, osUIActive };
  157.  
  158. struct TCreateInfo;
  159. class __declspec(pascalimplementation) TOleContainer : public Controls::TCustomControl
  160. {
  161.     typedef Controls::TCustomControl inherited;
  162.     
  163. private:
  164.     long FRefCount;
  165.     Ole2::ILockBytes* FLockBytes;
  166.     Ole2::IStorage* FStorage;
  167.     Ole2::IOleObject* FOleObject;
  168.     TOleClientSite* FOleClientSite;
  169.     TOleInPlaceSite* FOleInPlaceSite;
  170.     TAdviseSink* FAdviseSink;
  171.     long FDrawAspect;
  172.     POINT FViewSize;
  173.     Classes::TStringList* FObjectVerbs;
  174.     long FDataConnection;
  175.     TOleForm* FDocForm;
  176.     TOleForm* FFrameForm;
  177.     Ole2::IOleInPlaceObject* FOleInPlaceObject;
  178.     Ole2::IOleInPlaceActiveObject* FOleInPlaceActiveObject;
  179.     HACCEL FAccelTable;
  180.     int FAccelCount;
  181.     Menus::TPopupMenu* FPopupVerbMenu;
  182.     bool FAllowInPlace;
  183.     TAutoActivate FAutoActivate;
  184.     bool FAutoVerbMenu;
  185.     TFormBorderStyle FBorderStyle;
  186.     bool FCopyOnSave;
  187.     bool FOldStreamFormat;
  188.     TSizeMode FSizeMode;
  189.     bool FObjectOpen;
  190.     bool FUIActive;
  191.     bool FModified;
  192.     bool FModSinceSave;
  193.     bool FFocused;
  194.     bool FNewInserted;
  195.     Classes::TNotifyEvent FOnActivate;
  196.     Classes::TNotifyEvent FOnDeactivate;
  197.     TObjectMoveEvent FOnObjectMove;
  198.     Classes::TNotifyEvent FOnResize;
  199.     long __fastcall AddRef(void);
  200.     void __fastcall AdjustBounds(void);
  201.     void __fastcall CheckObject(void);
  202.     void __fastcall CreateAccelTable(void);
  203.     void __fastcall CreateStorage(void);
  204.     void __fastcall DesignModified(void);
  205.     void __fastcall DestroyAccelTable(void);
  206.     void __fastcall DestroyVerbs(void);
  207.     int __fastcall GetBorderWidth(void);
  208.     bool __fastcall GetCanPaste(void);
  209.     bool __fastcall GetIconic(void);
  210.     bool __fastcall GetLinked(void);
  211.     int __fastcall GetObjectDataSize(void);
  212.     Classes::TStrings* __fastcall GetObjectVerbs(void);
  213.     System::AnsiString __fastcall GetOleClassName(void);
  214.     System::Variant __fastcall GetOleObject(void);
  215.     int __fastcall GetPrimaryVerb(void);
  216.     System::AnsiString __fastcall GetSourceDoc(void);
  217.     TObjectState __fastcall GetState(void);
  218.     void __fastcall InitObject(void);
  219.     void __fastcall ObjectModified(void);
  220.     void __fastcall ObjectMoved(const Windows::TRect &ObjectRect);
  221.     void __fastcall ObjectShowWindow(bool Show);
  222.     void __fastcall ObjectViewChange(long Aspect);
  223.     void __fastcall PopupVerbMenuClick(System::TObject* Sender);
  224.     long __fastcall QueryInterface(const GUID &iid, void *obj);
  225.     long __fastcall Release(void);
  226.     void __fastcall SaveObject(void);
  227.     void __fastcall SetBorderStyle(Forms::TBorderStyle Value);
  228.     void __fastcall SetDrawAspect(bool Iconic, int IconMetaPict);
  229.     void __fastcall SetFocused(bool Value);
  230.     void __fastcall SetIconic(bool Value);
  231.     void __fastcall SetSizeMode(TSizeMode Value);
  232.     void __fastcall SetUIActive(bool Active);
  233.     void __fastcall SetViewAdviseSink(bool Enable);
  234.     void __fastcall UpdateObjectRect(void);
  235.     void __fastcall UpdateView(void);
  236.     HIDESBASE MESSAGE void __fastcall CMCtl3DChanged(Messages::TMessage &Message);
  237.     MESSAGE void __fastcall CMDocWindowActivate(Messages::TMessage &Message);
  238.     MESSAGE void __fastcall CMUIDeactivate(Messages::TMessage &Message);
  239.     HIDESBASE MESSAGE void __fastcall WMKillFocus(Messages::TWMSetFocus &Message);
  240.     HIDESBASE MESSAGE void __fastcall WMSetFocus(Messages::TWMSetFocus &Message);
  241.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  242.     HIDESBASE MESSAGE void __fastcall WMWindowPosChanged(Messages::TWMWindowPosMsg &Message);
  243.     
  244. protected:
  245.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  246.     virtual void __fastcall DblClick(void);
  247.     virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
  248.     virtual void __fastcall DoEnter(void);
  249.     virtual Menus::TPopupMenu* __fastcall GetPopupMenu(void);
  250.     virtual void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  251.     virtual void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  252.         int Y);
  253.     virtual void __fastcall Paint(void);
  254.     
  255. public:
  256.     __fastcall virtual TOleContainer(Classes::TComponent* AOwner);
  257.     __fastcall virtual ~TOleContainer(void);
  258.     bool __fastcall ChangeIconDialog(void);
  259.     void __fastcall Close(void);
  260.     void __fastcall Copy(void);
  261.     void __fastcall CreateLinkToFile(const System::AnsiString FileName, bool Iconic);
  262.     void __fastcall CreateObject(const System::AnsiString OleClassName, bool Iconic);
  263.     void __fastcall CreateObjectFromFile(const System::AnsiString FileName, bool Iconic);
  264.     void __fastcall CreateObjectFromInfo(const TCreateInfo &CreateInfo);
  265.     void __fastcall DestroyObject(void);
  266.     void __fastcall DoVerb(int Verb);
  267.     int __fastcall GetIconMetaPict(void);
  268.     bool __fastcall InsertObjectDialog(void);
  269.     void __fastcall LoadFromFile(const System::AnsiString FileName);
  270.     void __fastcall LoadFromStream(Classes::TStream* Stream);
  271.     bool __fastcall ObjectPropertiesDialog(void);
  272.     void __fastcall Paste(void);
  273.     bool __fastcall PasteSpecialDialog(void);
  274.     void __fastcall Run(void);
  275.     void __fastcall SaveToFile(const System::AnsiString FileName);
  276.     void __fastcall SaveToStream(Classes::TStream* Stream);
  277.     void __fastcall UpdateObject(void);
  278.     void __fastcall UpdateVerbs(void);
  279.     __property bool CanPaste = {read=GetCanPaste, nodefault};
  280.     __property bool Linked = {read=GetLinked, nodefault};
  281.     __property bool Modified = {read=FModified, write=FModified, nodefault};
  282.     __property bool NewInserted = {read=FNewInserted, nodefault};
  283.     __property Classes::TStrings* ObjectVerbs = {read=GetObjectVerbs, nodefault};
  284.     __property System::AnsiString OleClassName = {read=GetOleClassName, nodefault};
  285.     __property System::Variant OleObject = {read=GetOleObject};
  286.     __property Ole2::IOleObject* OleObjectInterface = {read=FOleObject, nodefault};
  287.     __property int PrimaryVerb = {read=GetPrimaryVerb, nodefault};
  288.     __property System::AnsiString SourceDoc = {read=GetSourceDoc, nodefault};
  289.     __property TObjectState State = {read=GetState, nodefault};
  290.     __property Ole2::IStorage* StorageInterface = {read=FStorage, nodefault};
  291.     
  292. __published:
  293.     __property bool AllowInPlace = {read=FAllowInPlace, write=FAllowInPlace, default=1};
  294.     __property TAutoActivate AutoActivate = {read=FAutoActivate, write=FAutoActivate, default=2};
  295.     __property bool AutoVerbMenu = {read=FAutoVerbMenu, write=FAutoVerbMenu, default=1};
  296.     __property Align ;
  297.     __property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, default=1};
  298.     __property Caption ;
  299.     __property Color ;
  300.     __property bool CopyOnSave = {read=FCopyOnSave, write=FCopyOnSave, default=1};
  301.     __property Ctl3D ;
  302.     __property DragCursor ;
  303.     __property DragMode ;
  304.     __property Enabled ;
  305.     __property bool Iconic = {read=GetIconic, write=SetIconic, stored=false, nodefault};
  306.     __property bool OldStreamFormat = {read=FOldStreamFormat, write=FOldStreamFormat, default=0};
  307.     __property ParentColor ;
  308.     __property ParentCtl3D ;
  309.     __property ParentShowHint ;
  310.     __property PopupMenu ;
  311.     __property ShowHint ;
  312.     __property TSizeMode SizeMode = {read=FSizeMode, write=SetSizeMode, default=0};
  313.     __property TabOrder ;
  314.     __property TabStop ;
  315.     __property Visible ;
  316.     __property Classes::TNotifyEvent OnActivate = {read=FOnActivate, write=FOnActivate};
  317.     __property Classes::TNotifyEvent OnDeactivate = {read=FOnDeactivate, write=FOnDeactivate};
  318.     __property OnDragDrop ;
  319.     __property OnDragOver ;
  320.     __property OnEndDrag ;
  321.     __property OnEnter ;
  322.     __property OnExit ;
  323.     __property OnMouseDown ;
  324.     __property OnMouseMove ;
  325.     __property OnMouseUp ;
  326.     __property OnKeyDown ;
  327.     __property OnKeyPress ;
  328.     __property OnKeyUp ;
  329.     __property TObjectMoveEvent OnObjectMove = {read=FOnObjectMove, write=FOnObjectMove};
  330.     __property Classes::TNotifyEvent OnResize = {read=FOnResize, write=FOnResize};
  331.     __property OnStartDrag ;
  332. public:
  333.     /* TWinControl.CreateParented */ __fastcall TOleContainer(HWND ParentWindow) : Controls::TCustomControl(
  334.         ParentWindow) { }
  335.     
  336. };
  337.  
  338. class __declspec(pascalimplementation) TOleClientSite : public Ole2::IOleClientSite
  339. {
  340.     typedef Ole2::IOleClientSite inherited;
  341.     
  342. private:
  343.     TOleContainer* FContainer;
  344.     
  345. public:
  346.     __fastcall TOleClientSite(TOleContainer* Container);
  347.     virtual long __stdcall QueryInterface(const GUID &iid, void *obj);
  348.     virtual long __stdcall AddRef(void);
  349.     virtual long __stdcall Release(void);
  350.     virtual long __stdcall SaveObject(void);
  351.     virtual long __stdcall GetMoniker(long dwAssign, long dwWhichMoniker, Ole2::IMoniker* &mk);
  352.     virtual long __stdcall GetContainer(Ole2::IOleContainer* &container);
  353.     virtual long __stdcall ShowObject(void);
  354.     virtual long __stdcall OnShowWindow(DWord fShow);
  355.     virtual long __stdcall RequestNewObjectLayout(void);
  356. public:
  357.     /* TObject.Destroy */ __fastcall virtual ~TOleClientSite(void) { }
  358.     
  359. };
  360.  
  361. enum TCreateType { ctNewObject, ctFromFile, ctLinkToFile, ctFromData, ctLinkFromData };
  362.  
  363. struct TCreateInfo
  364. {
  365.     TCreateType CreateType;
  366.     bool ShowAsIcon;
  367.     int IconMetaPict;
  368.     GUID ClassID;
  369.     System::AnsiString FileName;
  370.     Ole2::IDataObject* DataObject;
  371. } ;
  372.  
  373. struct TVerbInfo
  374. {
  375.     short Verb;
  376.     Word Flags;
  377. } ;
  378.  
  379. //-- var, const, procedure ---------------------------------------------------
  380. #define ovShow (Shortint)(-1)
  381. #define ovOpen (Shortint)(-2)
  382. #define ovHide (Shortint)(-3)
  383. #define ovUIActivate (Shortint)(-4)
  384. #define ovInPlaceActivate (Shortint)(-5)
  385. #define ovDiscardUndoState (Shortint)(-6)
  386. #define ovPrimary (int)(-65536)
  387. extern void __fastcall DestroyMetaPict(int MetaPict);
  388.  
  389. }    /* namespace Olectnrs */
  390.  
  391. #pragma warn .par
  392. #pragma warn .hid 
  393. #pragma warn .inl
  394.  
  395. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  396. using namespace Olectnrs;
  397. #endif
  398. //-- end unit ----------------------------------------------------------------
  399. #endif    // OleCtnrs
  400.