home *** CD-ROM | disk | FTP | other *** search
-
- {*******************************************************}
- { }
- { Delphi Visual Component Library }
- { }
- { Copyright (c) 1995 Borland International }
- { }
- {*******************************************************}
-
- unit ToCtrl;
-
- interface
-
- uses Controls, Classes, Forms, Messages, WinTypes,
- Ole2, ToUnk, BCom, BoleDefs, BoleIntf, ToIntf, Menus,
- SysUtils, StdCtrls;
-
- type
-
- TAutoActivate = (aaManual, aaGetFocus, aaDoubleClick);
- TZoomFactor = (z025,z050,z100,z150,z200);
-
- TStatusLineEvent = procedure(Sender: TObject; Msg: String) of object;
-
- TOleContainer = class(TCustomControl)
- protected
- procedure CreateHandle; override;
- procedure CreateParams(var Params: TCreateParams); override;
- procedure Paint; override;
- procedure ResetObjMenuItem;
- procedure ObjMenuItemClick(Sender: TObject);
- procedure ConvertItemClick(Sender: TObject);
- procedure CheckLinkInfo(Update: Boolean);
- procedure CreateSite;
- procedure DefineProperties(Filer: TFiler); override;
- procedure KeyDown(var Key: Word; Shift: TShiftState); override;
- procedure ActivateControl;
- procedure DeactivateControl;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- function GetContainer: TIBCont;
- function OleObjAllocated: Boolean;
- function GetObjectMenuItemCount: Integer;
- function GetObjectMenuItem(Index: Integer): string;
- procedure CopyToClipboard(Clear: Boolean);
- procedure LoadFromFile(const FileName: string);
- procedure LoadFromStream(Stream: TStream);
- procedure SaveToFile(const FileName: string);
- procedure SaveToStream(Stream: TStream);
- procedure ObjectMenuAction(Index: Integer);
- procedure DeleteSite;
- procedure DeleteStorage;
- procedure DoStatusLineMsg(Msg :String);
- procedure ActivateObjMenuItem(Activate: Boolean);
- property InPlaceActive: Boolean;
- property Modified: Boolean;
- property PInitInfo: Pointer;
- property Active: Boolean;
- property Storage: IStorage;
- property Site: TIBSite;
- property Part: IBPart;
- property PartRect: TRect;
- property InActivation: Boolean;
- property InitInfo: BoleInitInfo;
- published
- property Align;
- property AllowInPlace: Boolean default True;
- property AutoSize: Boolean default False;
- property AutoActivate: TAutoActivate default aaDoubleClick;
- property BorderStyle: TBorderStyle default bsSingle;
- property ConvertDlgHelp: THelpContext default 0;
- property Ctl3D;
- property DragCursor;
- property DragMode;
- property Enabled;
- property ObjClass: String;
- property ObjDoc: String;
- property ObjItem: String;
- property ParentCtl3D;
- property ParentShowHint;
- property ShowHint;
- property TabOrder;
- property TabStop default True;
- property Visible;
- property Zoom: TZoomFactor default z100;
- property OnActivate: TNotifyEvent;
- property OnStatusLineEvent: TStatusLineEvent;
- property OnDragDrop;
- property OnDragOver;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnMouseDown;
- property OnMouseMove;
- property OnMouseUp;
- property OnDblClick;
- property OnKeyDown;
- property OnKeyPress;
- property OnKeyUp;
- end;
-
- { This is the object that comes in for an ole drop event }
- TOleDropNotify = class(TObject)
- protected
- function GetInfoPtr: Pointer;
- public
- procedure SetInfo(Form: TForm; Rect: TRect; Info: BoleInitInfo);
- property DropForm: TForm;
- property DropRect: TRect;
- property DataFormat: Word;
- property DataHandle: THandle;
- property PInitInfo: Pointer;
- end;
-
- PBoleInitInfo = ^BoleInitInfo;
-
- procedure RegisterFormAsOleDropTarget(Form: TForm;
- const Fmts: array of BOleFormat);
- procedure SetFormOleDropFormats(Form: TForm;
- const Fmts: array of BOleFormat);
- procedure ClearFormOleDropFormats(Form: TForm);
- function InsertOleObjectDlg(Form: TForm; HelpContext: THelpContext;
- var PInitInfo: Pointer): Boolean;
- function PasteSpecialDlg(Form: TForm; const Fmts: array of BOleFormat;
- HelpContext: THelpContext; var Format: Word; var Handle: THandle;
- var PInitInfo: Pointer ): Boolean;
- function PasteSpecialEnabled(Form: TForm;
- const Fmts: array of BOleFormat): Boolean;
- procedure LinksDlg(Form: TForm; HelpContext: THelpContext);
- function LinksDlgEnabled(Form: TForm): Boolean;
- procedure RegisterFormAsOleDropTgt(Form: TForm);
- function PasteSpecialOleDlg(Form: TForm; HelpContext: THelpContext;
- var PInitInfo: Pointer): Boolean;
- function PasteSpecialOleEnabled(Form: TForm): Boolean;
- procedure ReleaseOleInitInfo(PInitInfo: Pointer);
- function OleFormat(AFmtId: Word; AName, AResultName: String;
- AIsLinkable: Bool): BOleFormat; { "constructor" for BOleFormat }
- function BOleMediumCalc(fmtId: Word): BOleMedium;
-
- const
- NibWidth = 6;
-
-
- implementation
-