UNPKG

innosetup-compiler-note

Version:
1,279 lines (1,115 loc) 142 kB
(*********************************************************************************) (* *) (* Below is the list of support classes that can be used from within the Pascal *) (* script. There are also three support objects available: MainForm of type *) (* TMainForm, WizardForm of type TWizardForm and UninstallProgressForm of type *) (* TUninstallProgressForm and one special constant: crHand of type *) (* TControl.Cursor. *) (* Note: MainForm is only visible if WindowVisible is set to yes. *) (* Note: you may find it useful to also refer to the Delphi Visual Component *) (* Library (VCL) Help files by Embarcadero Technologies, since the classes below *) (* are mostly simple wrappers around the VCL classes Inno Setup uses internally. *) (* See http://docs.embarcadero.com/products/rad_studio/ . *) (* *) (*********************************************************************************) Type TObject = class constructor Create; procedure Free; end; TBits = class(TObject) function OpenBit: Integer; property Bits[Index: Integer]: Boolean; read write; property Size: Integer; read write; end; TPersistent = class(TObject) procedure Assign(Source: TPersistent); end; TStream = class(TObject) function Read(Buffer: String; Count: Longint): Longint; function Write(Buffer: String; Count: Longint): Longint; function Seek(Offset: Longint; Origin: Word): Longint; procedure ReadBuffer(Buffer: String; Count: Longint); procedure WriteBuffer(Buffer: String; Count: Longint); function CopyFrom(Source: TStream; Count: Int64): Longint; property Position: Longint; read write; property Size: Longint; read write; end; TParser = class(TObject) constructor Create(Stream: TStream); procedure CheckToken(T: Char); procedure CheckTokenSymbol(S: String); procedure Error(Ident: Integer); procedure ErrorStr(Message: String); procedure HexToBinary(Stream: TStream); function NextToken: Char; function SourcePos: Longint; function TokenComponentIdent: String; function TokenFloat: Extended; function TokenInt: Longint; function TokenString: String; function TokenSymbolIs(S: String): Boolean; property SourceLine: Integer; read; property Token: Char; read; end; TCollectionItem = class(TPersistent) constructor Create(Collection: TCollection); property Collection: TCollection; read write; property Index: Integer; read write; end; TCollection = class(TPersistent) function Add: TCollectionItem; procedure BeginUpdate; procedure Clear; procedure EndUpdate; property Count: Integer; read; property Items[Index: Integer]: TCollectionItem; read write; end; HMENU = Cardinal; HAccel = Cardinal; Exception = class(TObject) end; EMenuError = class(Exception) end; TMenuBreak = (mbNone, mbBreak, mbBarBreak); TShortCut = Word; TIMAGEINDEX = Integer; TMenuItem = class(TComponent) constructor Create(AOwner: TComponent); procedure Insert(Index: Integer; Item: TMenuItem); procedure Delete(Index: Integer); procedure Click; function IndexOf(Item: TMenuItem): Integer; function GetParentComponent: TComponent; function HasParent: Boolean; procedure Add(Item: TMenuItem); procedure Remove(Item: TMenuItem); property Command: Word; read; property Handle: HMENU; read; property Count: Integer; read; property Items[Index: Integer]: TMenuItem; read; property MenuIndex: Integer; read write; property Parent: TMenuItem; read; property Caption: String; read write; property Checked: Boolean; read write; property Default: Boolean; read write; property Enabled: Boolean; read write; property GroupIndex: Byte; read write; property HelpContext: THelpContext; read write; property Hint: String; read write; property RadioItem: Boolean; read write; property ShortCut: TShortCut; read write; property Visible: Boolean; read write; property OnClick: TNotifyEvent; read write; property ImageIndex: TImageIndex; read write; end; TMenuChangeEvent = procedure (Sender: TObject; Source: TMenuItem; Rebuild: Boolean); TFindItemKind = (fkCommand, fkHandle, fkShortCut); TWMMenuChar = record Msg: Cardinal; User: Char; MenuFlag: Word; { MF_POPUP, MF_SYSMENU } Menu: HMENU; Result: Longint; end; TMenuItemAutoFlag = (maAutomatic, maManual, maParent); TMenuAutoFlag = TMenuItemAutoFlag; TBiDiMode = (bdLeftToRight, bdRightToLeft, bdRightToLeftNoAlign, bdRightToLeftReadingOnly); TMenu = class(TComponent) constructor Create(AOwner: TComponent); function DispatchCommand(ACommand: Word): Boolean; function DispatchPopup(AHandle: HMENU): Boolean; function FindItem(Value: Integer; Kind: TFindItemKind): TMenuItem; function GetHelpContext(Value: Integer; ByCommand: Boolean): THelpContext; property Handle: HMENU; read; property WindowHandle: HWnd; read write; property Items: TMenuItem; read; property Images: TCustomImageList; read write; function IsRightToLeft: Boolean; procedure ParentBiDiModeChanged(AControl: TObject); procedure ProcessMenuChar(var Message: TWMMenuChar); property AutoHotkeys: TMenuAutoFlag; read write; property AutoLineReduction: TMenuAutoFlag; read write; property BiDiMode: TBiDiMode; read write; property OwnerDraw: Boolean; read write; property ParentBiDiMode: Boolean; read write; end; TMainMenu = class(TMenu) procedure Merge(Menu: TMainMenu); procedure Unmerge(Menu: TMainMenu); procedure PopulateOle2Menu(SharedMenu: HMENU; Groups: TArrayOfInteger; var Widths: TArrayOfInteger); procedure GetOle2AcceleratorTable(var AccelTable: HAccel; var AccelCount: Integer; Groups: TArrayOfInteger); procedure SetOle2MenuHandle(Handle: HMENU); property AutoMerge: Boolean; read write; end; TPopupAlignment = (paLeft, paRight, paCenter); TTrackButton = (tbRightButton, tbLeftButton); TMenuAnimations = (maLeftToRight, maRightToLeft, maTopToBottom, maBottomToTop, maNone); TMenuAnimation = set of TMenuAnimations; TPopupMenu = class(TMenu) constructor Create(AOwner: TComponent); procedure Popup(X, Y: Integer); property PopupComponent: TComponent; read write; property Alignment: TPopupAlignment; read write; property AutoPopup: Boolean; read write; property HelpContext: THelpContext; read write; property OnPopup: TNotifyEvent; read write; property MenuAnimation: TMenuAnimation; read write; property TrackButton: TTrackButton; read write; end; TComponentStateE = (csLoading, csReading, csWriting, csDestroying, csDesigning, csAncestor, csUpdating, csFixups, csFreeNotification, csInline, csDesignInstance); TComponentState = set of TComponentStateE; TComponent = class(TPersistent) function FindComponent(AName: String): TComponent; constructor Create(AOwner: TComponent); property Owner: TComponent; read write; property Components[Index: Integer]: TComponent; read; property ComponentCount: Integer; read; property ComponentIndex: Integer; read write; property ComponentState: Byte; read; property Name: String; read write; property Tag: Longint; read write; procedure DestroyComponents; procedure Destroying; procedure FreeNotification(AComponent: TComponent); procedure InsertComponent(AComponent: TComponent); procedure RemoveComponent(AComponent: TComponent); property DesignInfo: Longint; read write; end; TTimer = class(TComponent) property Enabled: Boolean; read write; property Interval: Cardinal; read write; property OnTimer: TNotifyEvent; read write; end; TStrings = class(TPersistent) function Add(S: String): Integer; procedure Append(S: String); procedure AddStrings(Strings: TStrings); procedure Clear; procedure Delete(Index: Integer); function IndexOf(const S: String): Integer; procedure Insert(Index: Integer; S: String); property Count: Integer; read; property Text: String; read write; property CommaText: String; read write; procedure LoadFromFile(FileName: String); procedure SaveToFile(FileName: String); property Strings[Index: Integer]: String; read write; property Objects[Index: Integer]: TObject; read write; procedure BeginUpdate; procedure EndUpdate; function Equals(Strings: TStrings): Boolean; procedure Exchange(Index1, Index2: Integer); function IndexOfName(Name: String): Integer; procedure LoadFromStream(Stream: TStream); procedure Move(CurIndex, NewIndex: Integer); procedure SaveToStream(Stream: TStream); procedure SetText(Text: PChar); property Names[Index: Integer]: String; read; property Values[Name: String]: String; read write; function AddObject(S: String; AObject: TObject): Integer; function GetText: PChar; function IndexOfObject(AObject: TObject): Integer; procedure InsertObject(Index: Integer; S: String; AObject: TObject); end; TAlignment = (taLeftJustify, taRightJustify, taCenter); THelpEvent = function (Command: Word; Data: Longint; var CallHelp: Boolean): Boolean; TGetStrProc = procedure(const S: String); TDuplicates = (dupIgnore, dupAccept, dupError); TOperation = (opInsert, opRemove); THandle = Longint; TNotifyEvent = procedure(Sender: TObject); TStringList = class(TStrings) function Find(S: String; var Index: Integer): Boolean; procedure Sort; property Duplicates: TDuplicates; read write; property Sorted: Boolean; read write; property OnChange: TNotifyEvent; read write; property OnChanging: TNotifyEvent; read write; end; THandleStream = class(TStream) constructor Create(AHandle: Integer); property Handle: Integer; read; end; TFileStream = class(THandleStream) constructor Create(Filename: String; Mode: Word); end; TCustomMemoryStream = class(TStream) procedure SaveToStream(Stream: TStream); procedure SaveToFile(FileName: String); end; TMemoryStream = class(TCustomMemoryStream) procedure Clear; procedure LoadFromStream(Stream: TStream); procedure LoadFromFile(FileName: String); procedure SetSize(NewSize: Longint); end; TResourceStream = class(TCustomMemoryStream) constructor Create(Instance: THandle; ResName: String; ResType: Integer); constructor CreateFromID(Instance: THandle; ResID: Integer; ResType: Integer); end; TGraphicsObject = class(TPersistent) property OnChange: TNotifyEvent; read write; end; TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut); TFontStyles = set of TFontStyle; TFontPitch = (fpDefault, fpVariable, fpFixed); TFont = class(TGraphicsObject) constructor Create; property Handle: Integer; read; property Color: Integer; read write; property Height: Integer; read write; property Name: String; read write; property Pitch: Byte; read write; property Size: Integer; read write; property PixelsPerInch: Integer; read write; property Style: TFontStyles; read write; end; TRect = record Left, Top, Right, Bottom: Integer; end; TPenMode = (pmBlack, pmWhite, pmNop, pmNot, pmCopy, pmNotCopy, pmMergePenNot, pmMaskPenNot, pmMergeNotPen, pmMaskNotPen, pmMerge, pmNotMerge, pmMask, pmNotMask, pmXor, pmNotXor); TPenStyle = (psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsideFrame); TPen = class(TGraphicsObject) constructor Create; property Color: TColor; read write; property Mode: TPenMode; read write; property Style: TPenStyle; read write; property Width: Integer; read write; end; TBrushStyle = (bsSolid, bsClear, bsHorizontal, bsVertical, bsFDiagonal, bsBDiagonal, bsCross, bsDiagCross); TColor = integer; HBITMAP = Integer; HPALETTE = Integer; TBrush = class(TGraphicsObject) constructor Create; property Color: TColor; read write; property Style: TBrushStyle; read write; end; TCanvas = class(TPersistent) procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer); procedure Chord(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer); procedure Draw(X, Y: Integer; Graphic: TGraphic); procedure Ellipse(X1, Y1, X2, Y2: Integer); procedure FillRect(const Rect: TRect); procedure FloodFill(X, Y: Integer; Color: TColor; FillStyle: Byte); procedure LineTo(X, Y: Integer); procedure MoveTo(X, Y: Integer); procedure Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer); procedure Rectangle(X1, Y1, X2, Y2: Integer); procedure Refresh; procedure RoundRect(X1, Y1, X2, Y2, X3, Y3: Integer); function TextHeight(Text: String): Integer; procedure TextOut(X, Y: Integer; Text: String); function TextWidth(Text: String): Integer; property Handle: Integer; read write; property Pixels: Integer; read write; property Brush: TBrush; read; property CopyMode: Byte; read write; property Font: TFont; read; property Pen: TPen; read; end; TGraphic = class(TPersistent) procedure LoadFromFile(const Filename: String); procedure SaveToFile(const Filename: String); property Empty: Boolean; read write; property Height: Integer; read write; property Modified: Boolean; read write; property Width: Integer; read write; property OnChange: TNotifyEvent; read write; end; TBitmap = class(TGraphic) procedure LoadFromStream(Stream: TStream); procedure SaveToStream(Stream: TStream); property Canvas: TCanvas; read write; property Handle: HBITMAP; read write; procedure Dormant; procedure FreeImage; procedure LoadFromClipboardFormat(AFormat: Word; AData: THandle; APalette: HPALETTE); procedure LoadFromResourceName(Instance: THandle; const ResName: String); procedure LoadFromResourceID(Instance: THandle; ResID: Integer); function ReleaseHandle: HBITMAP; function ReleasePalette: HPALETTE; procedure SaveToClipboardFormat(var AFormat: Word; var AData: THandle; var APalette: HPALETTE); property Monochrome: Boolean; read write; property Palette: HPALETTE; read write; property IgnorePalette: Boolean; read write; property TransparentColor: TColor; read write; end; HICON = Integer; TIcon = class(TGraphic) procedure LoadFromStream(Stream: TStream); procedure SaveToStream(Stream: TStream); function ReleaseHandle: HICON; property Handle: HICON; read write; end; TNewIcon = class(TGraphic) procedure LoadFromStream(Stream: TStream); procedure SaveToStream(Stream: TStream); procedure LoadFromResourceName(Instance: THandle; const ResName: String); procedure LoadFromResourceID(Instance: THandle; ResID: Integer); function ReleaseHandle: HICON; property Handle: HICON; read write; end; TAlign = (alNone, alTop, alBottom, alLeft, alRight, alClient); TDragMode = (dmManual, dmAutomatic); TDragState = (dsDragEnter, dsDragLeave, dsDragMove); TDragKind = (dkDrag, dkDock); TDragOverEvent = procedure(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean); TDragDropEvent = procedure(Sender, Source: TObject;X, Y: Integer); TEndDragEvent = procedure(Sender, Target: TObject; X, Y: Integer); TDragObject = class(TObject) function GetName: String; procedure HideDragImage; function Instance: Longint; procedure ShowDragImage; end; TStartDragEvent = procedure(Sender: TObject; var DragObject: TDragObject); TControl = class(TComponent) constructor Create(AOwner: TComponent); procedure BringToFront; procedure Hide; procedure Invalidate; procedure Refresh; procedure Repaint; procedure SendToBack; procedure Show; procedure Update; procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); property Parent: TWinControl; read write; property Left: Integer; read write; property Top: Integer; read write; property Width: Integer; read write; property Height: Integer; read write; property Hint: String; read write; property Align: TAlign; read write; property ClientHeight: Longint; read write; property ClientWidth: Longint; read write; property ShowHint: Boolean; read write; property ParentShowHint: Boolean; read write; property Visible: Boolean; read write; property Enabled: Boolean; read write; property Cursor: Integer; read write; function Dragging: Boolean; function HasParent: Boolean; procedure BeginDrag(Immediate: Boolean); function ClientToScreen(Point: TPoint): TPoint; procedure EndDrag(Drop: Boolean); function GetTextBuf(Buffer: PChar; BufSize: Integer): Integer; function GetTextLen: Integer; procedure SetTextBuf(Buffer: PChar); function Perform(Msg: Cardinal; WParam, LParam: Longint): Longint; function ScreenToClient(Point: TPoint): TPoint; end; TWinControl = class(TControl) property Handle: Longint; read write; property Showing: Boolean; read; property TabOrder: Integer; read write; property TabStop: Boolean; read write; function CanFocus: Boolean; function Focused: Boolean; property Controls[Index: Integer]: TControl; read; property ControlCount: Integer; read; property DoubleBuffered: Boolean; read write; function HandleAllocated: Boolean; procedure HandleNeeded; procedure EnableAlign; procedure RemoveControl(AControl: TControl); procedure InsertControl(AControl: TControl); procedure Realign; procedure ScaleBy(M, D: Integer); procedure ScrollBy(DeltaX, DeltaY: Integer); procedure SetFocus; procedure PaintTo(DC: HDC; X, Y: Integer); function ContainsControl(Control: TControl): Boolean; procedure DisableAlign; procedure UpdateControlState; property Brush: TBrush; read; property HelpContext: Longint; read write; end; TGraphicControl = class(TControl) end; TCustomControl = class(TWinControl) end; TFieldChangeEvent = procedure(Sender: TObject; OldField, Value: Byte); TIPAddressEdit = class(TCustomControl) procedure SetFieldFocus(Field: Byte); function IsBlank: Boolean; property Field1Value: Byte; read write; property Field2Value: Byte; read write; property Field3Value: Byte; read write; property Field4Value: Byte; read write; property Field1Max: Byte; read write; property Field1Min: Byte; read write; property Field2Max: Byte; read write; property Field2Min: Byte; read write; property Field3Max: Byte; read write; property Field3Min: Byte; read write; property Field4Max: Byte; read write; property Field4Min: Byte; read write; property IPValue: LongWord; read write; property OnChange: TNotifyEvent; read write; property OnEnter: TNotifyEvent; read write; property OnExit: TNotifyEvent; read write; property OnFieldChange: TFieldChangeEvent; read write; property InitClear: Boolean; read write; property Color: TColor; read write; property Font: TFont; read write; property ParentColor: Boolean; read write; property ParentFont: Boolean; read write; end; TNewGroupBox = class(TCustomControl) property Caption: String; read write; property Color: TColor; read write; property Font: TFont; read write; property ParentColor: Boolean; read write; property ParentFont: Boolean; read write; property OnClick: TNotifyEvent; read write; property OnDblClick: TNotifyEvent; read write; property OnEnter: TNotifyEvent; read write; property OnExit: TNotifyEvent; read write; property Ctl3D: Boolean; read write; property DragCursor: Longint; read write; property DragMode: TDragMode; read write; property ParentCtl3D: Boolean; read write; property PopupMenu: TPopupMenu; read write; property OnDragDrop: TDragDropEvent; read write; property OnDragOver: TDragOverEvent; read write; property OnEndDrag: TEndDragEvent; read write; property OnMouseDown: TMouseEvent; read write; property OnMouseMove: TMouseMoveEvent; read write; property OnMouseUp: TMouseEvent; read write; property OnStartDrag: TStartDragEvent; read write; property ParentBackground: Boolean; read write; property OnMouseEnter: TNotifyEvent; read write; property OnMouseLeave: TNotifyEvent; read write; end; TScrollBarKind = (sbHorizontal, sbVertical); TScrollBarInc = SmallInt; TControlScrollBar = class(TPersistent) property Kind: TScrollBarKind; read; property ScrollPos: Integer; read; property Margin: Word; read write; property Increment: TScrollBarInc; read write; property Range: Integer; read write; property Position: Integer; read write; property Tracking: Boolean; read write; property Visible: Boolean; read write; end; TScrollingWinControl = class(TWinControl) procedure ScrollInView(AControl: TControl); property HorzScrollBar: TControlScrollBar; read write; property VertScrollBar: TControlScrollBar; read write; end; TIdleEvent = procedure(Sender: TObject; var Done: Boolean); TFormBorderStyle = (bsNone, bsSingle, bsSizeable, bsDialog, bsToolWindow, bsSizeToolWin); TBorderStyle = TFormBorderStyle; TWindowState = (wsNormal, wsMinimized, wsMaximized); TFormStyle = (fsNormal, fsMDIChild, fsMDIForm, fsStayOnTop); TBorderIcon = (biSystemMenu, biMinimize, biMaximize, biHelp); TBorderIcons = set of TBorderIcon; TPosition = (poDesigned, poDefault, poDefaultPosOnly, poDefaultSizeOnly, poScreenCenter, poDesktopCenter, poMainFormCenter, poOwnerFormCenter); TPrintScale = (poNone, poProportional, poPrintToFit); TCloseAction = (caNone, caHide, caFree, caMinimize); TCloseEvent = procedure(Sender: TObject; var Action: TCloseAction); TCloseQueryEvent = procedure(Sender: TObject; var CanClose: Boolean); TEShiftState = (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble, ssMeta, ssSuper, ssHyper, ssAltGr, ssCaps, ssNum, ssScroll, ssTriple, ssQuad); TShiftState = set of TEShiftState; TKeyEvent = procedure(Sender: TObject; var Key: Word; Shift: TShiftState); TKeyPressEvent = procedure(Sender: TObject; var Key: Char); THelpContext = Longint; TScrollBox = class(TScrollingWinControl) property BorderStyle: TBorderStyle; read write; property Color: TColor; read write; property Font: TFont; read write; property AutoScroll: Boolean; read write; property ParentColor: Boolean; read write; property ParentFont: Boolean; read write; property OnClick: TNotifyEvent; read write; property OnDblClick: TNotifyEvent; read write; property OnEnter: TNotifyEvent; read write; property OnExit: TNotifyEvent; read write; property OnResize: TNotifyEvent; read write; property DragCursor: TCursor; read write; property DragMode: TDragMode; read write; property PopupMenu: TPopupMenu; read write; property Ctl3D: Boolean; read write; property ParentCtl3D: Boolean; read write; property OnDragDrop: TDragDropEvent; read write; property OnDragOver: TDragOverEvent; read write; property OnEndDrag: TEndDragEvent; read write; property OnMouseDown: TMouseEvent; read write; property OnMouseMove: TMouseMoveEvent; read write; property OnMouseUp: TMouseEvent; read write; property OnMouseEnter: TNotifyEvent; read write; property OnMouseLeave: TNotifyEvent; read write; end; TTileMode = (tbHorizontal, tbVertical); TForm = class(TScrollingWinControl) constructor CreateNew(AOwner: TComponent); procedure Close; procedure Hide; procedure Show; function ShowModal: Integer; procedure Release; property Active: Boolean; read; property ActiveControl: TWinControl; read write; property BorderIcons: TBorderIcons; read write; property BorderStyle: TFormBorderStyle; read write; property Caption: String; read write; property AutoScroll: Boolean; read write; property Color: TColor; read write; property Font: TFont; read write; property FormStyle: TFormStyle; read write; property KeyPreview: Boolean; read write; property Position: TPosition; read write; property OnActivate: TNotifyEvent; read write; property OnClick: TNotifyEvent; read write; property OnDblClick: TNotifyEvent; read write; property OnClose: TCloseEvent; read write; property OnCloseQuery: TCloseQueryEvent; read write; property OnCreate: TNotifyEvent; read write; property OnDestroy: TNotifyEvent; read write; property OnDeactivate: TNotifyEvent; read write; property OnHide: TNotifyEvent; read write; property OnKeyDown: TKeyEvent; read write; property OnKeyPress: TKeyPressEvent; read write; property OnKeyUp: TKeyEvent; read write; property OnResize: TNotifyEvent; read write; property OnShow: TNotifyEvent; read write; procedure ArrangeIcons; procedure Print; procedure SendCancelMode(Sender: TControl); property ActiveOLEControl: TWinControl; read write; property OleFormObject: TOLEFORMOBJECT; read write; property ClientHandle: Longint; read; property TileMode: TTileMode; read write; procedure Cascade; function CloseQuery: Boolean; procedure DefocusControl(Control: TWinControl; Removing: Boolean); procedure FocusControl(Control: TWinControl); procedure Next; procedure Previous; function SetFocusedControl(Control: TWinControl): Boolean; procedure Tile; property ActiveMDIChild: TForm; read; property Canvas: TCanvas; read; property DropTarget: Boolean; read write; property ModalResult: Longint; read write; property MDIChildCount: Integer; read; property MDIChildren[I: Integer]: TForm; read; property Icon: TIcon; read write; property Menu: TMainMenu; read write; property ObjectMenuItem: TMenuItem; read write; property PixelsPerInch: Integer; read write; property PrintScale: TPrintScale; read write; property Scaled: Boolean; read write; property WindowState: TWindowState; read write; property WindowMenu: TMenuItem; read write; property Ctl3D: Boolean; read write; property PopupMenu: TPopupMenu; read write; property OnDragDrop: TDragDropEvent; read write; property OnDockOver: TDockOverEvent; read write; property OnMouseDown: TMouseEvent; read write; property OnMouseMove: TMouseMoveEvent; read write; property OnMouseUp: TMouseEvent; read write; property OnPaint: TNotifyEvent; read write; property OnMouseEnter: TNotifyEvent; read write; property OnMouseLeave: TNotifyEvent; read write; end; TMsg = record hwnd: HWND; message: LongWord; wParam: Longint; lParam: Longint; time: LongWord; pt: TPoint; end; TMessageEvent = procedure (var Msg: TMsg; var Handled: Boolean); TApplication = class(TComponent) procedure BringToFront; function MessageBox(Text, Caption: PChar; Flags: Word): Integer; procedure Minimize; procedure ProcessMessages; procedure Restore; procedure Terminate; property Active: Boolean; read; property ExeName: String; read; property Handle: Longint; read; property UpdateFormatSettings: Boolean; read write; property Hint: String; read write; property MainForm: TForm; read; property ShowHint: Boolean; read write; property ShowMainForm: Boolean; read write; property Terminated: Boolean; read; property Title: String; read write; property OnActivate: TNotifyEvent; read write; property OnDeactivate: TNotifyEvent; read write; property OnIdle: TIdleEvent; read write; property OnHint: TNotifyEvent; read write; property OnMinimize: TNotifyEvent; read write; property OnRestore: TNotifyEvent; read write; procedure ControlDestroyed(Control: TControl); procedure CancelHint; procedure HandleException(Sender: TObject); procedure HandleMessage; procedure HideHint; procedure Initalize; procedure NormalizeTopMosts; procedure RestoreTopMosts; procedure Run; function HelpCommand(Command: Integer; Data: Longint): Boolean; function HelpContext(Context: THelpContext): Boolean; function HelpJump(JumpID: String): Boolean; property DialogHandle: Longint; read write; procedure CreateHandle; property HelpFile: String; read write; property HintColor: TColor; read write; property HintPause: Integer; read write; property HintShortPause: Integer; read write; property HintHidePause: Integer; read write; property Icon: TIcon; read write; property OnHelp: THelpEvent; read write; property OnMessage: TMessageEvent; read write; end; TScreen = class(TComponent) property ActiveControl: TWinControl; read; property ActiveForm: TForm; read; property Cursor: TCursor; read write; property Cursors[Index: Integer]: Longword; read write; property FormCount: Integer; read; property Forms[Index: Integer]: TForm; read; property Fonts: TStrings; read; property Height: Integer; read; property Width: Integer; read; property PixelsPerInch: Integer; read; property OnActiveControlChange: TNotifyEvent; read write; property OnActiveFormChange: TNotifyEvent; read write; end; TCustomLabel = class(TGraphicControl) end; TMouseButton = (mbLeft, mbRight, mbMiddle); TMouseEvent = procedure (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); TMouseMoveEvent = procedure(Sender: TObject; Shift: TShiftState; X, Y: Integer); HWND = Longint; TAnchorKind = (akTop, akLeft, akRight, akBottom); TAnchors = set of TAnchorKind; TModalResult = Integer; TCursor = Integer; TPoint = record x, y: Longint; end; TTextLayout = (tlTop, tlCenter, tlBottom); TLabel = class(TCustomLabel) property Alignment: TAlignment; read write; property AutoSize: Boolean; read write; property Caption: String; read write; property Color: TColor; read write; property FocusControl: TWinControl; read write; property Font: TFont; read write; property Layout: TTextLayout; read write; property ParentColor: Boolean; read write; property ParentFont: Boolean; read write; property Transparent: Boolean; read write; property WordWrap: Boolean; read write; property OnClick: TNotifyEvent; read write; property OnDblClick: TNotifyEvent; read write; property OnMouseDown: TMouseEvent; read write; property OnMouseMove: TMouseMoveEvent; read write; property OnMouseUp: TMouseEvent; read write; property DragCursor: Longint; read write; property DragMode: TDragMode; read write; property OnDragDrop: TDragDropEvent; read write; property OnDragOver: TDragOverEvent; read write; property OnStartDrag: TStartDragEvent; read write; property OnEndDrag: TEndDragEvent; read write; property ShowAccelChar: Boolean; read write; property OnMouseEnter: TNotifyEvent; read write; property OnMouseLeave: TNotifyEvent; read write; end; TCustomEdit = class(TWinControl) procedure Clear; procedure ClearSelection; procedure SelectAll; property Modified: Boolean; read write; property SelLength: Integer; read write; property SelStart: Integer; read write; property SelText: String; read write; property Text: String; read write; procedure CopyToClipboard; procedure CutToClipboard; procedure PasteFromClipboard; function GetSelTextBuf(Buffer: PChar; BufSize: Integer): Integer; procedure SetSelTextBuf(Buffer: PChar); end; TEditCharCase = (ecNormal, ecUpperCase, ecLowerCase); TEdit = class(TCustomEdit) property AutoSelect: Boolean; read write; property AutoSize: Boolean; read write; property BorderStyle: TBorderStyle; read write; property CharCase: TEditCharCase; read write; property Color: TColor; read write; property Font: TFont; read write; property HideSelection: Boolean; read write; property MaxLength: Integer; read write; property ParentColor: Boolean; read write; property ParentFont: Boolean; read write; property PasswordChar: Char; read write; property ReadOnly: Boolean; read write; property Text: String; read write; property OnChange: TNotifyEvent; read write; property OnClick: TNotifyEvent; read write; property OnDblClick: TNotifyEvent; read write; property OnEnter: TNotifyEvent; read write; property OnExit: TNotifyEvent; read write; property OnKeyDown: TKeyEvent; read write; property OnKeyPress: TKeyPressEvent; read write; property OnKeyUp: TKeyEvent; read write; property Ctl3D: Boolean; read write; property DragCursor: Longint; read write; property DragMode: TDragMode; read write; property OEMConvert: Boolean; read write; property ParentCtl3D: Boolean; read write; property PopupMenu: TPopupMenu; read write; property OnDragDrop: TDragDropEvent; read write; property OnDragOver: TDragOverEvent; read write; property OnEndDrag: TEndDragEvent; read write; property OnMouseDown: TMouseEvent; read write; property OnMouseMove: TMouseMoveEvent; read write; property OnMouseUp: TMouseEvent; read write; property OnStartDrag: TStartDragEvent; read write; property OnMouseEnter: TNotifyEvent; read write; property OnMouseLeave: TNotifyEvent; read write; end; TNewEdit = class(TEdit) end; TCustomMemo = class(TCustomEdit) property Lines: TStrings; read write; end; TScrollStyle = (ssNone, ssHorizontal, ssVertical, ssBoth); TMemo = class(TCustomMemo) property Alignment: TAlignment; read write; property BorderStyle: TBorderStyle; read write; property Color: TColor; read write; property Font: TFont; read write; property HideSelection: Boolean; read write; property MaxLength: Integer; read write; property ParentColor: Boolean; read write; property ParentFont: Boolean; read write; property ReadOnly: Boolean; read write; property ScrollBars: TScrollStyle; read write; property WantReturns: Boolean; read write; property WantTabs: Boolean; read write; property WordWrap: Boolean; read write; property OnChange: TNotifyEvent; read write; property OnClick: TNotifyEvent; read write; property OnDblClick: TNotifyEvent; read write; property OnEnter: TNotifyEvent; read write; property OnExit: TNotifyEvent; read write; property OnKeyDown: TKeyEvent; read write; property OnKeyPress: TKeyPressEvent; read write; property OnKeyUp: TKeyEvent; read write; property Ctl3D: Boolean; read write; property DragCursor: Longint; read write; property DragMode: TDragMode; read write; property OEMConvert: Boolean; read write; property ParentCtl3D: Boolean; read write; property PopupMenu: TPopupMenu; read write; property OnDragDrop: TDragDropEvent; read write; property OnDragOver: TDragOverEvent; read write; property OnEndDrag: TEndDragEvent; read write; property OnMouseDown: TMouseEvent; read write; property OnMouseMove: TMouseMoveEvent; read write; property OnMouseUp: TMouseEvent; read write; property OnStartDrag: TStartDragEvent; read write; property OnMouseEnter: TNotifyEvent; read write; property OnMouseLeave: TNotifyEvent; read write; end; TNewMemo = class(TMemo) end; TCustomComboBox = class(TWinControl) property DroppedDown: Boolean; read write; property Items: TStrings; read write; property ItemIndex: Integer; read write; procedure Clear; procedure SelectAll; property Canvas: TCanvas; read; property SelLength: Integer; read write; property SelStart: Integer; read write; property SelText: String; read write; end; TComboBoxStyle = (csDropDown, csSimple, csDropDownList, csOwnerDrawFixed, csOwnerDrawVariable); TDrawItemEvent = procedure(Control: TWinControl; Index: Integer; Rect: TRect; State: Byte); TMeasureItemEvent = procedure(Control: TWinControl; Index: Integer; var Height: Integer); TComboBox = class(TCustomComboBox) property Style: TComboBoxStyle; read write; property Color: TColor; read write; property DropDownCount: Integer; read write; property Font: TFont; read write; property MaxLength: Integer; read write; property ParentColor: Boolean; read write; property ParentFont: Boolean; read write; property Sorted: Boolean; read write; property Text: String; read write; property OnChange: TNotifyEvent; read write; property OnClick: TNotifyEvent; read write; property OnDblClick: TNotifyEvent; read write; property OnDropDown: TNotifyEvent; read write; property OnEnter: TNotifyEvent; read write; property OnExit: TNotifyEvent; read write; property OnKeyDown: TKeyEvent; read write; property OnKeyPress: TKeyPressEvent; read write; property OnKeyUp: TKeyEvent; read write; property Ctl3D: Boolean; read write; property DragMode: TDragMode; read write; property DragCursor: Longint; read write; property ItemHeight: Integer; read write; property ParentCtl3D: Boolean; read write; property PopupMenu: TPopupMenu; read write; property OnDragDrop: TDragDropEvent; read write; property OnDragOver: TDragOverEvent; read write; property OnDrawItem: TDrawItemEvent; read write; property OnEndDrag: TEndDragEvent; read write; property OnMeasureItem: TMeasureItemEvent; read write; property OnStartDrag: TStartDragEvent; read write; end; TNewComboBox = class(TComboBox) end; TButtonControl = class(TWinControl) end; TButton = class(TButtonControl) procedure Click; property Cancel: Boolean; read write; property Caption: String; read write; property Default: Boolean; read write; property Font: TFont; read write; property ModalResult: Longint; read write; property ParentFont: Boolean; read write; property OnClick: TNotifyEvent; read write; property OnEnter: TNotifyEvent; read write; property OnExit: TNotifyEvent; read write; property DragCursor: Longint; read write; property DragMode: TDragMode; read write; property PopupMenu: TPopupMenu; read write; property OnDragDrop: TDragDropEvent; read write; property OnDragOver: TDragOverEvent; read write; property OnEndDrag: TEndDragEvent; read write; property OnKeyDown: TKeyEvent; read write; property OnKeyPress: TKeyPressEvent; read write; property OnKeyUp: TKeyEvent; read write; property OnMouseDown: TMouseEvent; read write; property OnMouseMove: TMouseMoveEvent; read write; property OnMouseUp: TMouseEvent; read write; property OnStartDrag: TStartDragEvent; read write; property OnMouseEnter: TNotifyEvent; read write; property OnMouseLeave: TNotifyEvent; read write; end; TNewButton = class(TButton) property OnMouseEnter: TNotifyEvent; read write; property OnMouseLeave: TNotifyEvent; read write; end; TCustomCheckBox = class(TButtonControl) end; TCheckBoxState = (cbUnchecked, cbChecked, cbGrayed); TCheckBox = class(TCustomCheckBox) property Alignment: TAlignment; read write; property AllowGrayed: Boolean; read write; property Caption: String; read write; property Checked: Boolean; read write; property Color: TColor; read write; property Font: TFont; read write; property ParentColor: Boolean; read write; property ParentFont: Boolean; read write; property State: TCheckBoxState; read write; property OnClick: TNotifyEvent; read write; property OnEnter: TNotifyEvent; read write; property OnExit: TNotifyEvent; read write; property Ctl3D: Boolean; read write; property DragCursor: Longint; read write; property DragMode: TDragMode; read write; property ParentCtl3D: Boolean; read write; property PopupMenu: TPopupMenu; read write; property OnDragDrop: TDragDropEvent; read write; property OnDragOver: TDragOverEvent; read write; property OnEndDrag: TEndDragEvent; read write; property OnKeyDown: TKeyEvent; read write; property OnKeyPress: TKeyPressEvent; read write; property OnKeyUp: TKeyEvent; read write; property OnMouseDown: TMouseEvent; read write; property OnMouseMove: TMouseMoveEvent; read write; property OnMouseUp: TMouseEvent; read write; property OnStartDrag: TStartDragEvent; read write; property OnMouseEnter: TNotifyEvent; read write; property OnMouseLeave: TNotifyEvent; read write; end; TNewCheckBox = class(TCheckBox) property ParentBackground: Boolean; read write; end; TRadioButton = class(TButtonControl) property Alignment: TAlignment; read write; property Caption: String; read write; property Checked: Boolean; read write; property Color: TColor; read write; property Font: TFont; read write; property ParentColor: Boolean; read write; property ParentFont: Boolean; read write; property OnClick: TNotifyEvent; read write; property OnDblClick: TNotifyEvent; read write; property OnEnter: TNotifyEvent; read write; property OnExit: TNotifyEvent; read write; property Ctl3D: Boolean; read write; property DragCursor: Longint; read write; property DragMode: TDragMode; read write; property ParentCtl3D: Boolean; read write; property PopupMenu: TPopupMenu; read write; property OnDragDrop: TDragDropEvent; read write; property OnDragOver: TDragOverEvent; read write; property OnEndDrag: TEndDragEvent; read write; property OnKeyDown: TKeyEvent; read write; property OnKeyPress: TKeyPressEvent; read write; property OnKeyUp: TKeyEvent; read write; property OnMouseDown: TMouseEvent; read write; property OnMouseMove: TMouseMoveEvent; read write; property OnMouseUp: TMouseEvent; read write; property OnStartDrag: TStartDragEvent; read write; property OnMouseEnter: TNotifyEvent; read write; property OnMouseLeave: TNotifyEvent; read write; end; TNewRadioButton = class(TRadioButton) property ParentBackground: Boolean; read write; end; TCustomListBox = class(TWinControl) property Items: TStrings; read write; property ItemIndex: Integer; read write; property SelCount: Integer; read; property Selected[Index: Integer]: Boolean; read write; procedure Clear; function ItemAtPos(Pos: TPoint; Existing: Boolean): Integer; function ItemRect(Index: Integer): TRect; property Canvas: TCanvas; read; property TopIndex: Integer; read write; end; TListBoxStyle = (lbStandard, lbOwnerDrawFixed, lbOwnerDrawVariable); TScrollCode = (scLineUp, scLineDown, scPageUp, scPageDown, scPosition, scTrack, scTop, scBottom, scEndScroll); TScrollEvent = procedure(Sender: TObject; ScrollCode: TScrollCode;var ScrollPos: Integer); TEOwnerDrawState = (odSelected, odGrayed, odDisabled, odChecked, odFocused, odDefault, odHotLight, odInactive, odNoAccel, odNoFocusRect, odReserved1, odReserved2, odComboBoxEdit); TOwnerDrawState = set of TEOwnerDrawState; TListBox = class(TCustomListBox) property BorderStyle: TBorderStyle; read write; property Color: TColor; read write; property Font: TFont; read write; property MultiSelect: Boolean; read write; property ParentColor: Boolean; read write; property ParentFont: Boolean; read write; property Sorted: Boolean; read write; property Style: TListBoxStyle; read write; property OnClick: TNotifyEvent; read write; property OnDblClick: TNotifyEvent; read write; property OnEnter: TNotifyEvent; read write; property OnExit: TNotifyEvent; read write; property OnKeyDown: TKeyEvent; read write; property OnKeyPress: TKeyPressEvent; read write; property OnKeyUp: TKeyEvent; read write; property Columns: Integer; read write; property Ctl3D: Boolean; read write; property DragCursor: Longint; read write; property DragMode: TDragMode; read write; property ExtendedSelect: Boolean; read write; property IntegralHeight: Boolean; read write; property ItemHeight: Integer; read write; property ParentCtl3D: Boolean; read write; property PopupMenu: TPopupMenu; read write; property TabWidth: Integer; read write; property OnDragDrop: TDragDropEvent; read write; property OnDragOver: TDragOverEvent; read write; property OnDrawItem: TDrawItemEvent; read write; property OnEndDrag: TEndDragEvent; read write; property OnMeasureItem: TMeasureItemEvent; read write; property OnMouseDown: TMouseEvent; read write; property OnMouseMove: TMouseMoveEvent; read write; property OnMouseUp: TMouseEvent; read write; property OnStartDrag: TStartDragEvent; read write; property OnMouseEnter: TNotifyEvent; read write; property OnMouseLeave: TNotifyEvent; read write; end; TNewListBox = class(TListBox) end; TScrollBar = class(TWinControl) property Kind: TScrollBarKind; read write; property Max: Integer; read write; property Min: Integer; read write; property Position: Integer; read write; property OnChange: TNotifyEvent; read write; property OnEnter: TNotifyEvent; read write; property OnExit: TNotifyEvent; read write; procedure SetParams(APosition, AMin, AMax: Integer); property Ctl3D: Boolean; read write; property DragCursor: Longint; read write; property DragMode: TDragMode; read write; property LargeChange: TScrollBarInc; read write; property ParentCtl3D: Boolean; read write; property PopupMenu: TPopupMenu; read write; property SmallChange: TScrollBarInc; read write; property OnDragDrop: TDragDropEvent; read write; property OnDragOver: TDragOverEvent; read write; property OnEndDrag: TEndDragEvent; read write; property OnKeyDown: TKeyEvent; read write; property OnKeyPress: TKeyPressEvent; read write; property OnKeyUp: TKeyEvent; read write; property OnScroll: TScrollEvent; read write; property OnStartDrag: TStartDragEvent; read write; end; TTrackBarOrientation = (trHorizontal, trVertical); TTickMark = (tmBottomRight, tmTopLeft, tmBoth); TTickStyle = (tsNone, tsAuto, tsManual); TTrackBar = class(TWinControl) procedure SetTick(Value: Integer); property LineSize: Integer; read write; property Max: Integer; read write; property Min: Integer; read write; property Orientation: TTrackBarOrientation; read write; property PageSize: Integer; read write; property Frequency: Integer; read write; property Position: Integer; read write; property SelEnd: Integer; read write; property SelStart: Integer; read write; property ThumbLength: Integer; read write; property TickMarks: TTickMark; read write; property TickStyle: TTickStyle; read write; property OnChange: TNotifyEvent; read write; end; TUDAlignButton = (udLeft, udRight); TUDOrientation = (udHorizontal, udVertical); TUDBtnType = (btNext, btPrev); TUDClickEvent = procedure(Sender: TObject; Button: TUDBtnType); TUDChangingEvent = procedure(Sender: TObject; var AllowChange: Boolean); TCustomUpDown = class(TWinControl) end; TUpDown = class(TCustomUpDown) property AlignButton: TUDAlignButton; read write; property Associate: TWinControl; read write; property ArrowKeys: Boolean; read write; property Min: SmallInt; read write; property Max: SmallInt; read write; property Increment: Integer; read write; property Orientation: TUDOrientation; read write; property Position: SmallInt; read write; property Thousands: Boolean; read write; property Wrap: Boolean; read write; property OnChanging: TUDChangingEvent; read write; property OnClick: TUDClickEvent; read write; end; THKModifier = (hkShift, hkCtrl, hkAlt, hkExt); THKModifiers = set of THKModifier; THKInvalidKey = (hcNone, hcShift, hcCtrl, hcAlt, hcShiftCtrl, hcShiftAlt, hcCtrlAlt, hcShiftCtrlAlt); THKInvalidKeys = set of THKInvalidKey; TCustomHotKey = class(TWinControl) end; THotKey = class(TCustomHotKey) property Color: TColor; read write; property Font: TFont; read write; property ParentColor: Boolean; read write; property ParentFont: Boolean; read write; property AutoSize: Boolean; read write; property HotKey: TShortCut; read write; property In