home *** CD-ROM | disk | FTP | other *** search
/ PC Format Collection 48 / SENT14D.ISO / tech / delphi / disk14 / doc.pak / TOCTRL.INT < prev    next >
Encoding:
Text File  |  1995-08-24  |  5.1 KB  |  146 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Delphi Visual Component Library                 }
  5. {                                                       }
  6. {       Copyright (c) 1995 Borland International        }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. unit ToCtrl;
  11.  
  12. interface
  13.  
  14. uses Controls, Classes, Forms, Messages, WinTypes,
  15.      Ole2, ToUnk, BCom, BoleDefs, BoleIntf, ToIntf, Menus,
  16.      SysUtils, StdCtrls;
  17.  
  18. type
  19.  
  20.   TAutoActivate = (aaManual, aaGetFocus, aaDoubleClick);
  21.   TZoomFactor   = (z025,z050,z100,z150,z200);
  22.  
  23.   TStatusLineEvent = procedure(Sender: TObject; Msg: String) of object;
  24.  
  25.   TOleContainer = class(TCustomControl)
  26.   protected
  27.     procedure CreateHandle; override;
  28.     procedure CreateParams(var Params: TCreateParams); override;
  29.     procedure Paint; override;
  30.     procedure ResetObjMenuItem;
  31.     procedure ObjMenuItemClick(Sender: TObject);
  32.     procedure ConvertItemClick(Sender: TObject);
  33.     procedure CheckLinkInfo(Update: Boolean);
  34.     procedure CreateSite;
  35.     procedure DefineProperties(Filer: TFiler); override;
  36.     procedure KeyDown(var Key: Word; Shift: TShiftState); override;
  37.     procedure ActivateControl;    
  38.     procedure DeactivateControl;  
  39.   public
  40.     constructor Create(AOwner: TComponent); override;
  41.     destructor Destroy; override;
  42.     function GetContainer: TIBCont;
  43.     function OleObjAllocated: Boolean;
  44.     function GetObjectMenuItemCount: Integer; 
  45.     function GetObjectMenuItem(Index: Integer): string; 
  46.     procedure CopyToClipboard(Clear: Boolean);
  47.     procedure LoadFromFile(const FileName: string);
  48.     procedure LoadFromStream(Stream: TStream);
  49.     procedure SaveToFile(const FileName: string);
  50.     procedure SaveToStream(Stream: TStream);
  51.     procedure ObjectMenuAction(Index: Integer); 
  52.     procedure DeleteSite;  
  53.     procedure DeleteStorage;  
  54.     procedure DoStatusLineMsg(Msg :String);
  55.     procedure ActivateObjMenuItem(Activate: Boolean);
  56.     property InPlaceActive: Boolean;
  57.     property Modified: Boolean;
  58.     property PInitInfo: Pointer;
  59.     property Active: Boolean;
  60.     property Storage: IStorage;
  61.     property Site: TIBSite;
  62.     property Part: IBPart;
  63.     property PartRect: TRect;
  64.     property InActivation: Boolean;
  65.     property InitInfo: BoleInitInfo;
  66.   published
  67.     property Align;
  68.     property AllowInPlace: Boolean default True;
  69.     property AutoSize: Boolean default False;
  70.     property AutoActivate: TAutoActivate default aaDoubleClick;
  71.     property BorderStyle: TBorderStyle default bsSingle;
  72.     property ConvertDlgHelp: THelpContext default 0;
  73.     property Ctl3D;
  74.     property DragCursor;
  75.     property DragMode;
  76.     property Enabled;
  77.     property ObjClass: String;
  78.     property ObjDoc: String;
  79.     property ObjItem: String;
  80.     property ParentCtl3D;
  81.     property ParentShowHint;
  82.     property ShowHint;
  83.     property TabOrder;
  84.     property TabStop default True;
  85.     property Visible;
  86.     property Zoom: TZoomFactor default z100;
  87.     property OnActivate: TNotifyEvent;
  88.     property OnStatusLineEvent: TStatusLineEvent;
  89.     property OnDragDrop;
  90.     property OnDragOver;
  91.     property OnEndDrag;
  92.     property OnEnter;
  93.     property OnExit;
  94.     property OnMouseDown;
  95.     property OnMouseMove;
  96.     property OnMouseUp;
  97.     property OnDblClick;
  98.     property OnKeyDown;
  99.     property OnKeyPress;
  100.     property OnKeyUp;
  101.   end;
  102.  
  103.    { This is the object that comes in for an ole drop event }
  104.   TOleDropNotify = class(TObject)
  105.   protected
  106.     function GetInfoPtr: Pointer;
  107.   public
  108.     procedure SetInfo(Form: TForm; Rect: TRect; Info: BoleInitInfo);
  109.     property DropForm: TForm;
  110.     property DropRect: TRect;
  111.     property DataFormat: Word;
  112.     property DataHandle: THandle;
  113.     property PInitInfo: Pointer;
  114.   end;
  115.  
  116.   PBoleInitInfo = ^BoleInitInfo;
  117.  
  118.   procedure RegisterFormAsOleDropTarget(Form: TForm; 
  119.     const Fmts: array of BOleFormat);
  120.   procedure SetFormOleDropFormats(Form: TForm;
  121.     const Fmts: array of BOleFormat);
  122.   procedure ClearFormOleDropFormats(Form: TForm);
  123.   function InsertOleObjectDlg(Form: TForm;  HelpContext: THelpContext;
  124.     var PInitInfo: Pointer): Boolean;
  125.   function PasteSpecialDlg(Form: TForm; const Fmts: array of BOleFormat;
  126.     HelpContext: THelpContext; var Format: Word;  var Handle: THandle;
  127.     var PInitInfo: Pointer ): Boolean;
  128.   function PasteSpecialEnabled(Form: TForm; 
  129.     const Fmts: array of BOleFormat): Boolean;
  130.   procedure LinksDlg(Form: TForm; HelpContext: THelpContext);
  131.   function LinksDlgEnabled(Form: TForm): Boolean;
  132.   procedure RegisterFormAsOleDropTgt(Form: TForm);
  133.   function PasteSpecialOleDlg(Form: TForm;  HelpContext: THelpContext;
  134.     var PInitInfo: Pointer): Boolean;
  135.   function PasteSpecialOleEnabled(Form: TForm): Boolean;
  136.   procedure ReleaseOleInitInfo(PInitInfo: Pointer);
  137.   function OleFormat(AFmtId: Word; AName, AResultName: String;
  138.     AIsLinkable: Bool): BOleFormat;  { "constructor" for BOleFormat }               
  139.   function BOleMediumCalc(fmtId: Word): BOleMedium;  
  140.  
  141. const
  142.   NibWidth = 6;
  143.  
  144.  
  145. implementation
  146.