home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Plus! (NZ) 2001 June
/
HDC50.iso
/
Runimage
/
Delphi50
/
Doc
/
OLECTNRS.INT
< prev
next >
Wrap
Text File
|
1999-08-11
|
6KB
|
178 lines
{*******************************************************}
{ }
{ Borland Delphi Visual Component Library }
{ }
{ Copyright (c) 1995,99 Inprise Corporation }
{ }
{*******************************************************}
(*$HPPEMIT '#include <DocObj.h>'*)
unit OleCtnrs;
{$T-,H+,X+}
interface
uses Windows, Messages, CommCtrl, ActiveX, OleDlg, SysUtils, Classes,
Controls, Forms, Menus, Graphics, ComObj;
const
ovShow = -1;
ovOpen = -2;
ovHide = -3;
ovUIActivate = -4;
ovInPlaceActivate = -5;
ovDiscardUndoState = -6;
ovPrimary = -65536;
type
TOleContainer = class;
TOleForm = class;
IVCLFrameForm = interface(IOleInPlaceFrame)
['{CD02E1C0-52DA-11D0-9EA6-0020AF3D82DA}']
procedure AddContainer(Instance: TOleContainer);
procedure RemoveContainer(Instance: TOleContainer);
procedure ClearBorderSpace;
function Form: TCustomForm;
end;
TAutoActivate = (aaManual, aaGetFocus, aaDoubleClick);
TSizeMode = (smClip, smCenter, smScale, smStretch, smAutoSize);
TObjectState = (osEmpty, osLoaded, osRunning, osOpen, osInPlaceActive,
osUIActive);
TCreateType = (ctNewObject, ctFromFile, ctLinkToFile, ctFromData,
ctLinkFromData);
TCreateInfo = record
CreateType: TCreateType;
ShowAsIcon: Boolean;
IconMetaPict: HGlobal;
ClassID: TCLSID;
FileName: WideString;
DataObject: IDataObject;
end;
TVerbInfo = packed record
Verb: Smallint;
Flags: Word;
end;
TObjectMoveEvent = procedure(OleContainer: TOleContainer;
const Bounds: TRect) of object;
TOleContainer = class(TCustomControl, IUnknown, IOleClientSite,
IOleInPlaceSite, IAdviseSink, IOleDocumentSite, IOleUIObjInfo)
protected
{ IUnknown }
function QueryInterface(const IID: TGUID; out Obj): HResult; override; stdcall;
function _AddRef: Integer; stdcall;
function _Release: Integer; stdcall;
procedure Changed; dynamic;
procedure CreateParams(var Params: TCreateParams); override;
procedure DblClick; override;
procedure DefineProperties(Filer: TFiler); override;
procedure DoEnter; override;
function GetPopupMenu: TPopupMenu; override;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure Paint; override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function ChangeIconDialog: Boolean;
procedure Close;
procedure Copy;
procedure CreateLinkToFile(const FileName: string; Iconic: Boolean);
procedure CreateObject(const OleClassName: string; Iconic: Boolean);
procedure CreateObjectFromFile(const FileName: string; Iconic: Boolean);
procedure CreateObjectFromInfo(const CreateInfo: TCreateInfo);
procedure DestroyObject;
procedure DoVerb(Verb: Integer);
function GetIconMetaPict: HGlobal;
function InsertObjectDialog: Boolean;
procedure LoadFromFile(const FileName: string);
procedure LoadFromStream(Stream: TStream);
function ObjectPropertiesDialog: Boolean;
procedure Paste;
function PasteSpecialDialog: Boolean;
procedure Run;
procedure SaveAsDocument(const FileName: string);
procedure SaveToFile(const FileName: string);
procedure SaveToStream(Stream: TStream);
procedure UpdateObject;
procedure UpdateVerbs;
property CanPaste: Boolean;
property Linked: Boolean;
property Modified: Boolean;
property NewInserted: Boolean;
property ObjectVerbs: TStrings;
property OleClassName: string;
property OleObject: Variant;
property OleObjectInterface: IOleObject;
property PrimaryVerb: Integer;
property SourceDoc: string;
property State: TObjectState;
property StorageInterface: IStorage;
published
property AllowInPlace: Boolean default True;
property AllowActiveDoc: Boolean default True;
property AutoActivate: TAutoActivate default aaDoubleClick;
property AutoVerbMenu: Boolean default True;
property Align;
property Anchors;
property BorderStyle: TBorderStyle default bsSingle;
property Caption;
property Color;
property Constraints;
property CopyOnSave: Boolean default True;
property Ctl3D;
property DragCursor;
property DragMode;
property Enabled;
property Iconic: Boolean;
property OldStreamFormat: Boolean default False;
property ParentColor default False;
property ParentCtl3D;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property SizeMode: TSizeMode default smClip;
property TabOrder;
property TabStop default True;
property Visible;
property OnActivate: TNotifyEvent;
property OnDeactivate: TNotifyEvent;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnObjectMove: TObjectMoveEvent;
property OnResize: TNotifyEvent;
property OnStartDrag;
end;
TOleForm = class(TInterfacedObject, IOleForm, IOleWindow, IOleInPlaceUIWindow,
IOleInPlaceFrame, IVCLFrameForm)
public
constructor Create(Form: TCustomForm);
destructor Destroy; override;
end;
procedure DestroyMetaPict(MetaPict: HGlobal);
implementation