home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1997 August
/
VPR9708A.ISO
/
D3TRIAL
/
INSTALL
/
DATA.Z
/
FORMS.INT
< prev
next >
Wrap
Text File
|
1997-03-21
|
18KB
|
523 lines
{*******************************************************}
{ }
{ Delphi Visual Component Library }
{ }
{ Copyright (c) 1995,97 Borland International }
{ }
{*******************************************************}
unit Forms;
{$P+,S-,W-,R-}
{$C PRELOAD}
interface
uses Messages, Windows, SysUtils, Classes, Graphics, Menus, Controls, Imm;
type
{ Forward declarations }
TScrollingWinControl = class;
TCustomForm = class;
TForm = class;
{ TControlScrollBar }
TScrollBarKind = (sbHorizontal, sbVertical);
TScrollBarInc = 1..32767;
TControlScrollBar = class(TPersistent)
public
procedure Assign(Source: TPersistent); override;
property Kind: TScrollBarKind;
property ScrollPos: Integer;
published
property Margin: Word default 0;
property Increment: TScrollBarInc default 8;
property Range: Integer default 0;
property Position: Integer default 0;
property Tracking: Boolean default False;
property Visible: Boolean default True;
end;
{ TScrollingWinControl }
TScrollingWinControl = class(TWinControl)
protected
procedure AutoScrollInView(AControl: TControl);
procedure ChangeScale(M, D: Integer); override;
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWnd; override;
procedure AlignControls(AControl: TControl; var ARect: TRect); override;
property AutoScroll: Boolean default True;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure DisableAutoRange;
procedure EnableAutoRange;
procedure ScrollInView(AControl: TControl);
published
property HorzScrollBar: TControlScrollBar;
property VertScrollBar: TControlScrollBar;
end;
{ TScrollBox }
TFormBorderStyle = (bsNone, bsSingle, bsSizeable, bsDialog, bsToolWindow,
bsSizeToolWin);
TBorderStyle = bsNone..bsSingle;
TScrollBox = class(TScrollingWinControl)
protected
procedure CreateParams(var Params: TCreateParams); override;
procedure Resize; dynamic;
public
constructor Create(AOwner: TComponent); override;
published
property Align;
property AutoScroll;
property BorderStyle: TBorderStyle default bsSingle;
property DragCursor;
property DragMode;
property Enabled;
property Color nodefault;
property Ctl3D;
property Font;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ShowHint;
property TabOrder;
property TabStop;
property Visible;
property OnClick;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnResize: TNotifyEvent;
end;
{ TDesigner }
TDesigner = class(TObject)
public
function IsDesignMsg(Sender: TControl; var Message: TMessage): Boolean;
virtual; abstract;
procedure Modified; virtual; abstract;
procedure Notification(AComponent: TComponent;
Operation: TOperation); virtual; abstract;
procedure PaintGrid; virtual; abstract;
procedure ValidateRename(AComponent: TComponent;
const CurName, NewName: string); virtual; abstract;
property IsControl: Boolean;
property Form: TCustomForm;
end;
{ IOleForm }
IOleForm = interface
['{CD02E1C1-52DA-11D0-9EA6-0020AF3D82DA}']
procedure OnDestroy;
procedure OnResize;
end;
{ TCustomForm }
TWindowState = (wsNormal, wsMinimized, wsMaximized);
TFormStyle = (fsNormal, fsMDIChild, fsMDIForm, fsStayOnTop);
TBorderIcon = (biSystemMenu, biMinimize, biMaximize, biHelp);
TBorderIcons = set of TBorderIcon;
TPosition = (poDesigned, poDefault, poDefaultPosOnly, poDefaultSizeOnly,
poScreenCenter);
TPrintScale = (poNone, poProportional, poPrintToFit);
TShowAction = (saIgnore, saRestore, saMinimize, saMaximize);
TTileMode = (tbHorizontal, tbVertical);
TModalResult = Low(Integer)..High(Integer);
TCloseAction = (caNone, caHide, caFree, caMinimize);
TCloseEvent = procedure(Sender: TObject; var Action: TCloseAction) of object;
TCloseQueryEvent = procedure(Sender: TObject;
var CanClose: Boolean) of object;
TFormState = set of (fsCreating, fsVisible, fsShowing, fsModal,
fsCreatedMDIChild);
TCustomForm = class(TScrollingWinControl)
protected
procedure Activate; dynamic;
procedure ActiveChanged; dynamic;
procedure ChangeScale(M, D: Integer); override;
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWindowHandle(const Params: TCreateParams); override;
procedure CreateWnd; override;
procedure Deactivate; dynamic;
procedure DefaultHandler(var Message); override;
procedure DefineProperties(Filer: TFiler); override;
procedure DestroyWindowHandle; override;
procedure DoHide; dynamic;
procedure DoShow; dynamic;
function GetClientRect: TRect; override;
procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
procedure Loaded; override;
procedure Notification(AComponent: TComponent;
Operation: TOperation); override;
procedure Paint; dynamic;
procedure PaintWindow(DC: HDC); override;
function PaletteChanged(Foreground: Boolean): Boolean; override;
procedure SetChildOrder(Child: TComponent; Order: Integer); override;
procedure ReadState(Reader: TReader); override;
procedure Resize; dynamic;
procedure SetParent(AParent: TWinControl); override;
procedure ValidateRename(AComponent: TComponent;
const CurName, NewName: string); override;
procedure VisibleChanging; override;
procedure WndProc(var Message: TMessage); override;
property ActiveMDIChild: TForm;
property BorderIcons: TBorderIcons default [biSystemMenu, biMinimize, biMaximize];
property BorderStyle: TFormBorderStyle default bsSizeable;
property AutoScroll stored IsAutoScrollStored;
property ClientHandle: HWND;
property ClientHeight write SetClientHeight stored IsClientSizeStored;
property ClientWidth write SetClientWidth stored IsClientSizeStored;
property Ctl3D default True;
property FormStyle: TFormStyle default fsNormal;
property Height stored IsFormSizeStored;
property HorzScrollBar stored IsForm;
property Icon: TIcon;
property MDIChildCount: Integer;
property MDIChildren[I: Integer]: TForm;
property ObjectMenuItem: TMenuItem;
property PixelsPerInch: Integer;
property ParentFont default False;
property PopupMenu stored IsForm;
property Position: TPosition default poDesigned;
property PrintScale: TPrintScale default poProportional;
property Scaled: Boolean default True;
property TileMode: TTileMode default tbHorizontal;
property VertScrollBar stored IsForm;
property Visible write SetVisible default False;
property Width stored IsFormSizeStored;
property WindowMenu: TMenuItem;
property OnActivate: TNotifyEvent;
property OnClick stored IsForm;
property OnClose: TCloseEvent;
property OnCloseQuery: TCloseQueryEvent;
property OnCreate: TNotifyEvent;
property OnDblClick stored IsForm;
property OnDestroy: TNotifyEvent;
property OnDeactivate: TNotifyEvent;
property OnDragDrop stored IsForm;
property OnDragOver stored IsForm;
property OnHelp: THelpEvent;
property OnHide: TNotifyEvent;
property OnKeyDown stored IsForm;
property OnKeyPress stored IsForm;
property OnKeyUp stored IsForm;
property OnMouseDown stored IsForm;
property OnMouseMove stored IsForm;
property OnMouseUp stored IsForm;
property OnPaint: TNotifyEvent;
property OnResize: TNotifyEvent;
property OnShow: TNotifyEvent;
public
constructor Create(AOwner: TComponent); override;
constructor CreateNew(AOwner: TComponent);
destructor Destroy; override;
procedure Close;
function CloseQuery: Boolean;
procedure DefocusControl(Control: TWinControl; Removing: Boolean);
procedure FocusControl(Control: TWinControl);
function GetFormImage: TBitmap;
procedure Hide;
procedure Print;
procedure Release;
procedure SendCancelMode(Sender: TControl);
procedure SetFocus; override;
function SetFocusedControl(Control: TWinControl): Boolean;
procedure Show;
function ShowModal: Integer;
function WantChildKey(Child: TControl; var Message: TMessage): Boolean; virtual;
property Active: Boolean;
property ActiveControl: TWinControl;
property ActiveOleControl: TWinControl;
property Canvas: TCanvas;
property Caption stored IsForm;
property Color stored IsColorStored;
property Designer: TDesigner;
property DropTarget: Boolean;
property Font;
property HelpFile: string;
property KeyPreview: Boolean default False;
property Menu: TMainMenu;
property ModalResult: TModalResult;
property OleFormObject: IOleForm;
property WindowState: TWindowState default wsNormal;
end;
{ TForm }
TForm = class(TCustomForm)
public
procedure ArrangeIcons;
procedure Cascade;
procedure Next;
procedure Previous;
procedure Tile;
property ActiveMDIChild;
property ClientHandle;
property MDIChildCount;
property MDIChildren;
property TileMode;
published
property ActiveControl;
property BorderIcons;
property BorderStyle;
property AutoScroll;
property Caption;
property ClientHeight;
property ClientWidth;
property Ctl3D;
property Color;
property Enabled;
property ParentFont default False;
property Font;
property FormStyle;
property Height;
property HelpFile;
property HorzScrollBar;
property Icon;
property KeyPreview;
property Menu;
property ObjectMenuItem;
property PixelsPerInch;
property PopupMenu;
property Position;
property PrintScale;
property Scaled;
property ShowHint;
property VertScrollBar;
property Visible;
property Width;
property WindowState;
property WindowMenu;
property OnActivate;
property OnClick;
property OnClose;
property OnCloseQuery;
property OnCreate;
property OnDblClick;
property OnDestroy;
property OnDeactivate;
property OnDragDrop;
property OnDragOver;
property OnHide;
property OnHelp;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnPaint;
property OnResize;
property OnShow;
end;
TFormClass = class of TForm;
{ TDataModule }
TDataModule = class(TComponent)
protected
procedure DefineProperties(Filer: TFiler); override;
procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
function GetProviderNames: OleVariant; safecall;
class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
public
constructor Create(AOwner: TComponent); override;
constructor CreateNew(AOwner: TComponent);
destructor Destroy; override;
property DesignOffset: TPoint;
property DesignSize: TPoint;
published
property OnCreate: TNotifyEvent;
property OnDestroy: TNotifyEvent;
end;
{ TScreen }
PCursorRec = ^TCursorRec;
TCursorRec = record
Next: PCursorRec;
Index: Integer;
Handle: HCURSOR;
end;
TScreen = class(TComponent)
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
property ActiveControl: TWinControl;
property ActiveCustomForm: TCustomForm;
property ActiveForm: TForm;
property CustomFormCount: Integer;
property CustomForms[Index: Integer]: TCustomForm;
property Cursor: TCursor;
property Cursors[Index: Integer]: HCURSOR;
property DataModules[Index: Integer]: TDataModule;
property DataModuleCount: Integer;
property IconFont: TFont;
property Fonts: TStrings;
property FormCount: Integer;
property Forms[Index: Integer]: TForm;
property Imes: TStrings;
property DefaultIme: string;
property DefaultKbLayout: HKL;
property Height: Integer;
property PixelsPerInch: Integer;
property Width: Integer;
property OnActiveControlChange: TNotifyEvent;
property OnActiveFormChange: TNotifyEvent;
end;
{ TApplication }
TTimerMode = (tmShow, tmHide);
PHintInfo = ^THintInfo;
THintInfo = record
HintControl: TControl;
HintWindowClass: THintWindowClass;
HintPos: TPoint;
HintMaxWidth: Integer;
HintColor: TColor;
CursorRect: TRect;
CursorPos: TPoint;
ReshowTimeout: Integer;
HideTimeout: Integer;
HintStr: string;
HintData: Pointer;
end;
TCMHintShow = record
Msg: Cardinal;
Reserved: Integer;
HintInfo: PHintInfo;
Result: Integer;
end;
TMessageEvent = procedure (var Msg: TMsg; var Handled: Boolean) of object;
TExceptionEvent = procedure (Sender: TObject; E: Exception) of object;
TIdleEvent = procedure (Sender: TObject; var Done: Boolean) of object;
TShowHintEvent = procedure (var HintStr: string; var CanShow: Boolean;
var HintInfo: THintInfo) of object;
TWindowHook = function (var Message: TMessage): Boolean of object;
TApplication = class(TComponent)
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure BringToFront;
procedure ControlDestroyed(Control: TControl);
procedure CancelHint;
procedure CreateForm(InstanceClass: TComponentClass; var Reference);
procedure CreateHandle;
procedure HandleException(Sender: TObject);
procedure HandleMessage;
function HelpCommand(Command: Integer; Data: Longint): Boolean;
function HelpContext(Context: THelpContext): Boolean;
function HelpJump(const JumpID: string): Boolean;
procedure HideHint;
procedure HintMouseMessage(Control: TControl; var Message: TMessage);
procedure HookMainWindow(Hook: TWindowHook);
procedure Initialize;
function MessageBox(Text, Caption: PChar; Flags: Longint): Integer;
procedure Minimize;
procedure NormalizeAllTopMosts;
procedure NormalizeTopMosts;
procedure ProcessMessages;
procedure Restore;
procedure RestoreTopMosts;
procedure Run;
procedure ShowException(E: Exception);
procedure Terminate;
procedure UnhookMainWindow(Hook: TWindowHook);
property Active: Boolean;
property AllowTesting: Boolean;
property CurrentHelpFile: string;
property DialogHandle: HWnd;
property ExeName: string;
property Handle: HWnd;
property HelpFile: string;
property Hint: string;
property HintColor: TColor;
property HintPause: Integer;
property HintShortPause: Integer;
property HintHidePause: Integer;
property Icon: TIcon;
property MainForm: TForm;
property ShowHint: Boolean;
property ShowMainForm: Boolean;
property Terminated: Boolean;
property Title: string;
property UpdateFormatSettings: Boolean;
property UpdateMetricSettings: Boolean;
property OnActivate: TNotifyEvent;
property OnDeactivate: TNotifyEvent;
property OnException: TExceptionEvent;
property OnIdle: TIdleEvent;
property OnHelp: THelpEvent;
property OnHint: TNotifyEvent;
property OnMessage: TMessageEvent;
property OnMinimize: TNotifyEvent;
property OnRestore: TNotifyEvent;
property OnShowHint: TShowHintEvent;
end;
{ Global objects }
var
Application: TApplication;
Screen: TScreen;
Ctl3DBtnWndProc: Pointer = nil;
Ctl3DDlgFramePaint: function(Window: HWnd; Msg, wParam, lParam: Longint): Longint stdcall = nil;
Ctl3DCtlColorEx: function(Window: HWnd; Msg, wParam, lParam: Longint): Longint stdcall = nil;
HintWindowClass: THintWindowClass = THintWindow;
GetDataModuleProviderNames: function(Component: TComponent): Variant;
UpdateDataModuleRegistry: procedure(Register: Boolean; const ClassID, ProgID: string);
function GetParentForm(Control: TControl): TCustomForm;
function ValidParentForm(Control: TControl): TCustomForm;
function DisableTaskWindows(ActiveWindow: HWnd): Pointer;
procedure EnableTaskWindows(WindowList: Pointer);
function MakeObjectInstance(Method: TWndMethod): Pointer;
procedure FreeObjectInstance(ObjectInstance: Pointer);
function IsAccel(VK: Word; const Str: string): Boolean;
function Subclass3DWnd(Wnd: HWnd): Boolean;
procedure Subclass3DDlg(Wnd: HWnd; Flags: Word);
procedure SetAutoSubClass(Enable: Boolean);
function AllocateHWnd(Method: TWndMethod): HWND;
procedure DeallocateHWnd(Wnd: HWND);
procedure DoneCtl3D;
procedure InitCtl3D;
function KeysToShiftState(Keys: Word): TShiftState;
function KeyDataToShiftState(KeyData: Longint): TShiftState;
function ForegroundTask: Boolean;
implementation