isxclasses.pas 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971
  1. TObject = class
  2. constructor Create;
  3. procedure Free;
  4. end;
  5. TPersistent = class(TObject)
  6. procedure Assign(Source: TPersistent);
  7. end;
  8. TComponent = class(TPersistent)
  9. function FindComponent(AName: String): TComponent;
  10. constructor Create(AOwner: TComponent);
  11. property Owner: TComponent; read write;
  12. procedure DestroyComponents;
  13. procedure Destroying;
  14. procedure FreeNotification(AComponent: TComponent);
  15. procedure InsertComponent(AComponent: TComponent);
  16. procedure RemoveComponent(AComponent: TComponent);
  17. property Components[Index: Integer]: TComponent; read;
  18. property ComponentCount: Integer; read;
  19. property ComponentIndex: Integer; read write;
  20. property ComponentState: Byte; read;
  21. property DesignInfo: Longint; read write;
  22. property Name: String; read write;
  23. property Tag: NativeInt; read write;
  24. end;
  25. TStrings = class(TPersistent)
  26. function Add(S: String): Integer;
  27. procedure Append(S: String);
  28. procedure AddStrings(Strings: TStrings);
  29. procedure Clear;
  30. procedure Delete(Index: Integer);
  31. function IndexOf(const S: String): Integer;
  32. procedure Insert(Index: Integer; S: String);
  33. property Count: Integer; read;
  34. property Text: String; read write;
  35. property CommaText: String; read write;
  36. procedure LoadFromFile(FileName: String);
  37. procedure SaveToFile(FileName: String);
  38. property Strings[Index: Integer]: String; read write;
  39. property Objects[Index: Integer]: TObject; read write;
  40. end;
  41. TNotifyEvent = procedure(Sender: TObject);
  42. TDuplicates = (dupIgnore, dupAccept, dupError);
  43. TStringList = class(TStrings)
  44. function Find(S: String; var Index: Integer): Boolean;
  45. procedure Sort;
  46. property Duplicates: TDuplicates; read write;
  47. property Sorted: Boolean; read write;
  48. property OnChange: TNotifyEvent; read write;
  49. property OnChanging: TNotifyEvent; read write;
  50. end;
  51. { Seek Origin values: soFromBeginning, soFromCurrent, soFromEnd }
  52. TStream = class(TObject)
  53. function Read(var Buffer: AnyString; ByteCount: Longint): Longint;
  54. function Write(const Buffer: AnyString; ByteCount: Longint): Longint;
  55. function Seek(Offset: Int64; Origin: Word): Int64;
  56. procedure ReadBuffer(var Buffer: AnyString; ByteCount: Longint);
  57. procedure WriteBuffer(const Buffer: AnyString; ByteCount: Longint);
  58. function CopyFrom(Source: TStream; ByteCount: Int64; BufferSize: Integer): Int64;
  59. property Position: Longint; read write;
  60. property Size: Longint; read write;
  61. end;
  62. THandle = NativeUInt;
  63. THandleStream = class(TStream)
  64. constructor Create(AHandle: THandle);
  65. property Handle: THandle; read;
  66. end;
  67. TFileStream = class(THandleStream)
  68. constructor Create(Filename: String; Mode: Word);
  69. end;
  70. TStringStream = class(TStream)
  71. constructor Create(AString: String);
  72. end;
  73. TGraphicsObject = class(TPersistent)
  74. property OnChange: TNotifyEvent; read write;
  75. end;
  76. TBrushStyle = (bsSolid, bsClear, bsHorizontal, bsVertical, bsFDiagonal, bsBDiagonal, bsCross, bsDiagCross);
  77. TBrush = class(TGraphicsObject)
  78. constructor Create;
  79. property Color: TColor; read write;
  80. property Style: TBrushStyle; read write;
  81. end;
  82. TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut);
  83. TFontStyles = set of TFontStyle;
  84. TColor = Integer;
  85. { TColor values: clBlack, clMaroon, clGreen, clOlive, clNavy, clPurple, clTeal, clGray, clSilver, clRed, clLime, clYellow, clBlue, clFuchsia, clAqua, clLtGray, clDkGray, clWhite, clNone, clDefault, clScrollBar, clBackground, clActiveCaption, clInactiveCaption, clMenu, clWindow, clWindowFrame, clMenuText, clWindowText, clCaptionText, clActiveBorder, clInactiveBorder, clAppWorkSpace, clHighlight, clHighlightText, clBtnFace, clBtnShadow, clGrayText, clBtnText, clInactiveCaptionText, clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText, clInfoBk, clHotLight }
  86. HFONT = NativeUint;
  87. TFont = class(TGraphicsObject)
  88. constructor Create;
  89. property Handle: HFONT; read;
  90. property Color: TColor; read write;
  91. property Height: Integer; read write;
  92. property Name: String; read write;
  93. property Pitch: Byte; read write;
  94. property Size: Integer; read write;
  95. property PixelsPerInch: Integer; read write;
  96. property Style: TFontStyles; read write;
  97. end;
  98. TPenMode = (pmBlack, pmWhite, pmNop, pmNot, pmCopy, pmNotCopy, pmMergePenNot, pmMaskPenNot, pmMergeNotPen, pmMaskNotPen, pmMerge, pmNotMerge, pmMask, pmNotMask, pmXor, pmNotXor);
  99. TPenStyle = (psSolid, psDash, psDot, psDashDot, psDashDotDot, psClear, psInsideFrame);
  100. TPen = class(TGraphicsObject)
  101. constructor Create;
  102. property Color: TColor; read write;
  103. property Mode: TPenMode; read write;
  104. property Style: TPenStyle; read write;
  105. property Width: Integer; read write;
  106. end;
  107. HDC = NativeUInt;
  108. TCanvas = class(TPersistent)
  109. procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
  110. procedure Chord(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
  111. procedure Draw(X, Y: Integer; Graphic: TGraphic);
  112. procedure Ellipse(X1, Y1, X2, Y2: Integer);
  113. procedure FloodFill(X, Y: Integer; Color: TColor; FillStyle: Byte);
  114. procedure LineTo(X, Y: Integer);
  115. procedure MoveTo(X, Y: Integer);
  116. procedure Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);
  117. procedure Rectangle(X1, Y1, X2, Y2: Integer);
  118. procedure Refresh;
  119. procedure RoundRect(X1, Y1, X2, Y2, X3, Y3: Integer);
  120. function TextHeight(Text: String): Integer;
  121. procedure TextOut(X, Y: Integer; Text: String);
  122. function TextWidth(Text: String): Integer;
  123. property Handle: HDC; read write;
  124. property Pixels: Integer Integer Integer; read write;
  125. property Brush: TBrush; read;
  126. property CopyMode: Byte; read write;
  127. property Font: TFont; read;
  128. property Pen: TPen; read;
  129. end;
  130. TGraphic = class(TPersistent)
  131. procedure LoadFromFile(const Filename: String);
  132. procedure SaveToFile(const Filename: String);
  133. property Empty: Boolean; read write;
  134. property Height: Integer; read write;
  135. property Modified: Boolean; read write;
  136. property Width: Integer; read write;
  137. property OnChange: TNotifyEvent; read write;
  138. end;
  139. TAlphaFormat = (afIgnored, afDefined, afPremultiplied);
  140. HBITMAP = NativeUInt;
  141. TBitmap = class(TGraphic)
  142. procedure LoadFromStream(Stream: TStream);
  143. procedure SaveToStream(Stream: TStream);
  144. property AlphaFormat: TAlphaFormat; read write;
  145. property Canvas: TCanvas; read write;
  146. property Handle: HBITMAP; read write;
  147. end;
  148. TPngImage = class(TGraphic)
  149. procedure LoadFromStream(Stream: TStream);
  150. procedure SaveToStream(Stream: TStream);
  151. property Canvas: TCanvas; read write;
  152. end;
  153. TAlign = (alNone, alTop, alBottom, alLeft, alRight, alClient);
  154. TAnchorKind = (akLeft, akTop, akRight, akBottom);
  155. TAnchors = set of TAnchorKind;
  156. TCursor = Integer;
  157. { TCursor values: crDefault, crNone, crArrow, crCross, crIBeam, crSizeNESW, crSizeNS, crSizeNWSE, crSizeWE, crUpArrow, crHourGlass, crDrag, crNoDrop, crHSplit, crVSplit, crMultiDrag, crSQLWait, crNo, crAppStart, crHelp, crHandPoint, crSizeAll, crHand }
  158. TStyleElement = (seFont, seClient, seBorder);
  159. TStyleElements = set of TStyleElement;
  160. TControl = class(TComponent)
  161. constructor Create(AOwner: TComponent);
  162. procedure BringToFront;
  163. procedure Hide;
  164. procedure Invalidate;
  165. procedure Refresh;
  166. procedure Repaint;
  167. procedure SendToBack;
  168. procedure Show;
  169. procedure Update;
  170. procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
  171. property Left: Integer; read write;
  172. property Top: Integer; read write;
  173. property Width: Integer; read write;
  174. property Height: Integer; read write;
  175. property Hint: String; read write;
  176. property Align: TAlign; read write;
  177. property ClientHeight: Longint; read write;
  178. property ClientWidth: Longint; read write;
  179. property ShowHint: Boolean; read write;
  180. property Visible: Boolean; read write;
  181. property Enabled: Boolean; read write;
  182. property Cursor: TCursor; read write;
  183. property StyleElements: TStyleElements; read write;
  184. property StyleName: String; read write;
  185. end;
  186. HWND = NativeUInt;
  187. TWinControl = class(TControl)
  188. property Parent: TWinControl; read write;
  189. property ParentBackground: Boolean; read write;
  190. property Handle: HWND; read write;
  191. property Showing: Boolean; read;
  192. property TabOrder: Integer; read write;
  193. property TabStop: Boolean; read write;
  194. function CanFocus: Boolean;
  195. function Focused: Boolean;
  196. property Controls[Index: Integer]: TControl; read;
  197. property ControlCount: Integer; read;
  198. end;
  199. TGraphicControl = class(TControl)
  200. end;
  201. TCustomControl = class(TWinControl)
  202. end;
  203. TScrollingWinControl = class(TWinControl)
  204. procedure ScrollInView(AControl: TControl);
  205. end;
  206. TFormBorderStyle = (bsNone, bsSingle, bsSizeable, bsDialog, bsToolWindow, bsSizeToolWin);
  207. TBorderIcon = (biSystemMenu, biMinimize, biMaximize, biHelp);
  208. TBorderIcons = set of TBorderIcon;
  209. TConstraintSize = 0..MaxInt;
  210. TSizeConstraints = class(TPersistent);
  211. property MaxHeight: TConstraintSize; read write;
  212. property MaxWidth: TConstraintSize; read write;
  213. property MinHeight: TConstraintSize; read write;
  214. property MinWidth: TConstraintSize; read write;
  215. end;
  216. TFormStyle = (fsNormal, fsMDIChild, fsMDIForm, fsStayOnTop);
  217. TPopupMode = (pmNone, pmAuto, pmExplicit);
  218. TPosition = (poDesigned, poDefault, poDefaultPosOnly, poDefaultSizeOnly, poScreenCenter, poDesktopCenter, poMainFormCenter, poOwnerFormCenter);
  219. TCloseAction = (caNone, caHide, caFree, caMinimize);
  220. TCloseEvent = procedure(Sender: TObject; var Action: TCloseAction);
  221. TCloseQueryEvent = procedure(Sender: TObject; var CanClose: Boolean);
  222. TEShiftState = (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);
  223. TShiftState = set of TEShiftState;
  224. TKeyEvent = procedure(Sender: TObject; var Key: Word; Shift: TShiftState);
  225. TKeyPressEvent = procedure(Sender: TObject; var Key: Char);
  226. TForm = class(TScrollingWinControl)
  227. constructor CreateNew(AOwner: TComponent);
  228. procedure Close;
  229. procedure Hide;
  230. procedure Show;
  231. function ShowModal: Integer;
  232. procedure Release;
  233. property Active: Boolean; read;
  234. property ActiveControl: TWinControl; read write;
  235. property Anchors: TAnchors; read write;
  236. property AutoScroll: Boolean; read write;
  237. property BorderIcons: TBorderIcons; read write;
  238. property BorderStyle: TFormBorderStyle; read write;
  239. property Caption: String; read write;
  240. property Color: TColor; read write;
  241. property Constraints: TSizeConstraints; read write;
  242. property Font: TFont; read write;
  243. property FormStyle: TFormStyle; read write;
  244. property KeyPreview: Boolean; read write;
  245. property PopupMode: TPopupMode; read write;
  246. property PopupParent: TForm; read write;
  247. property Position: TPosition; read write;
  248. property OnActivate: TNotifyEvent; read write;
  249. property OnClick: TNotifyEvent; read write;
  250. property OnDblClick: TNotifyEvent; read write;
  251. property OnClose: TCloseEvent; read write;
  252. property OnCloseQuery: TCloseQueryEvent; read write;
  253. property OnCreate: TNotifyEvent; read write;
  254. property OnDestroy: TNotifyEvent; read write;
  255. property OnDeactivate: TNotifyEvent; read write;
  256. property OnHide: TNotifyEvent; read write;
  257. property OnKeyDown: TKeyEvent; read write;
  258. property OnKeyPress: TKeyPressEvent; read write;
  259. property OnKeyUp: TKeyEvent; read write;
  260. property OnResize: TNotifyEvent; read write;
  261. property OnShow: TNotifyEvent; read write;
  262. end;
  263. TCustomLabel = class(TGraphicControl)
  264. end;
  265. TAlignment = (taLeftJustify, taRightJustify, taCenter);
  266. TLabel = class(TCustomLabel)
  267. property Alignment: TAlignment; read write;
  268. property Anchors: TAnchors; read write;
  269. property AutoSize: Boolean; read write;
  270. property Caption: String; read write;
  271. property Color: TColor; read write;
  272. property FocusControl: TWinControl; read write;
  273. property Font: TFont; read write;
  274. property WordWrap: Boolean; read write;
  275. property OnClick: TNotifyEvent; read write;
  276. property OnDblClick: TNotifyEvent; read write;
  277. end;
  278. TCustomEdit = class(TWinControl)
  279. procedure Clear;
  280. procedure ClearSelection;
  281. procedure SelectAll;
  282. property Modified: Boolean; read write;
  283. property SelLength: Integer; read write;
  284. property SelStart: Integer; read write;
  285. property SelText: String; read write;
  286. property Text: String; read write;
  287. end;
  288. TBorderStyle = TFormBorderStyle;
  289. TEditCharCase = (ecNormal, ecUpperCase, ecLowerCase);
  290. TEdit = class(TCustomEdit)
  291. property Anchors: TAnchors; read write;
  292. property AutoSelect: Boolean; read write;
  293. property AutoSize: Boolean; read write;
  294. property BorderStyle: TBorderStyle; read write;
  295. property CharCase: TEditCharCase; read write;
  296. property Color: TColor; read write;
  297. property Font: TFont; read write;
  298. property HideSelection: Boolean; read write;
  299. property MaxLength: Integer; read write;
  300. property PasswordChar: Char; read write;
  301. property ReadOnly: Boolean; read write;
  302. property Text: String; read write;
  303. property OnChange: TNotifyEvent; read write;
  304. property OnClick: TNotifyEvent; read write;
  305. property OnDblClick: TNotifyEvent; read write;
  306. property OnKeyDown: TKeyEvent; read write;
  307. property OnKeyPress: TKeyPressEvent; read write;
  308. property OnKeyUp: TKeyEvent; read write;
  309. end;
  310. TNewEdit = class(TEdit)
  311. end;
  312. TNewPathEdit = class(TNewEdit)
  313. property AutoCompleteFiles: Boolean; read write;
  314. end;
  315. TCustomMemo = class(TCustomEdit)
  316. property Lines: TStrings; read write;
  317. end;
  318. TScrollStyle = (ssNone, ssHorizontal, ssVertical, ssBoth);
  319. TMemo = class(TCustomMemo)
  320. property Alignment: TAlignment; read write;
  321. property Anchors: TAnchors; read write;
  322. property BorderStyle: TBorderStyle; read write;
  323. property Color: TColor; read write;
  324. property Font: TFont; read write;
  325. property HideSelection: Boolean; read write;
  326. property Lines: TStrings; read write;
  327. property MaxLength: Integer; read write;
  328. property ReadOnly: Boolean; read write;
  329. property ScrollBars: TScrollStyle; read write;
  330. property WantReturns: Boolean; read write;
  331. property WantTabs: Boolean; read write;
  332. property WordWrap: Boolean; read write;
  333. property OnChange: TNotifyEvent; read write;
  334. property OnClick: TNotifyEvent; read write;
  335. property OnDblClick: TNotifyEvent; read write;
  336. property OnKeyDown: TKeyEvent; read write;
  337. property OnKeyPress: TKeyPressEvent; read write;
  338. property OnKeyUp: TKeyEvent; read write;
  339. end;
  340. TNewMemo = class(TMemo)
  341. end;
  342. TCustomComboBox = class(TWinControl)
  343. property DroppedDown: Boolean; read write;
  344. property Items: TStrings; read write;
  345. property ItemIndex: Integer; read write;
  346. end;
  347. TComboBoxStyle = (csDropDown, csSimple, csDropDownList, csOwnerDrawFixed, csOwnerDrawVariable);
  348. TComboBox = class(TCustomComboBox)
  349. property Anchors: TAnchors; read write;
  350. property Color: TColor; read write;
  351. property DropDownCount: Integer; read write;
  352. property Font: TFont; read write;
  353. property MaxLength: Integer; read write;
  354. property Sorted: Boolean; read write;
  355. property Style: TComboBoxStyle; read write;
  356. property Text: String; read write;
  357. property OnChange: TNotifyEvent; read write;
  358. property OnClick: TNotifyEvent; read write;
  359. property OnDblClick: TNotifyEvent; read write;
  360. property OnDropDown: TNotifyEvent; read write;
  361. property OnKeyDown: TKeyEvent; read write;
  362. property OnKeyPress: TKeyPressEvent; read write;
  363. property OnKeyUp: TKeyEvent; read write;
  364. end;
  365. TNewComboBox = class(TComboBox)
  366. end;
  367. TButtonControl = class(TWinControl)
  368. end;
  369. TButtonStyle = (bsPushButton, bsCommandLink, bsSplitButton);
  370. TButton = class(TButtonControl)
  371. property Anchors: TAnchors; read write;
  372. property Cancel: Boolean; read write;
  373. property Caption: String; read write;
  374. property CommandLinkHint: String; read write;
  375. property Default: Boolean; read write;
  376. property ElevationRequired: Boolean; read write;
  377. property Font: TFont; read write;
  378. property ModalResult: Longint; read write;
  379. property Style: TButtonStyle; read write;
  380. property OnClick: TNotifyEvent; read write;
  381. end;
  382. TNewButton = class(TButton)
  383. function AdjustHeightIfCommandLink: Integer;
  384. end;
  385. TCustomCheckBox = class(TButtonControl)
  386. end;
  387. TCheckBoxState = (cbUnchecked, cbChecked, cbGrayed);
  388. TCheckBox = class(TCustomCheckBox)
  389. property Alignment: TAlignment; read write;
  390. property AllowGrayed: Boolean; read write;
  391. property Anchors: TAnchors; read write;
  392. property Caption: String; read write;
  393. property Checked: Boolean; read write;
  394. property Color: TColor; read write;
  395. property Font: TFont; read write;
  396. property State: TCheckBoxState; read write;
  397. property OnClick: TNotifyEvent; read write;
  398. end;
  399. TNewCheckBox = class(TCheckBox)
  400. end;
  401. TRadioButton = class(TButtonControl)
  402. property Alignment: TAlignment; read write;
  403. property Anchors: TAnchors; read write;
  404. property Caption: String; read write;
  405. property Checked: Boolean; read write;
  406. property Color: TColor; read write;
  407. property Font: TFont; read write;
  408. property OnClick: TNotifyEvent; read write;
  409. property OnDblClick: TNotifyEvent; read write;
  410. end;
  411. TNewRadioButton = class(TRadioButton)
  412. end;
  413. TSysLinkType = (sltURL, sltID);
  414. TSysLinkEvent = procedure(Sender: TObject; const Link: string; LinkType: TSysLinkType);
  415. TCustomLinkLabel = class(TWinControl)
  416. property Alignment: TAlignment; read write;
  417. property AutoSize: Boolean; read write;
  418. property UseVisualStyle: Boolean; read write;
  419. property OnLinkClick: TSysLinkEvent; read write;
  420. end;
  421. TLinkLabel = class(TCustomLinkLabel)
  422. property Anchors: TAnchors; read write;
  423. property Caption: String; read write;
  424. property Color: TColor; read write;
  425. property Font: TFont; read write;
  426. end;
  427. TNewLinkLabel = class(TLinkLabel)
  428. function AdjustHeight: Integer;
  429. end;
  430. TCustomListBox = class(TWinControl)
  431. property Items: TStrings; read write;
  432. property ItemIndex: Integer; read write;
  433. property SelCount: Integer; read;
  434. property Selected[Index: Integer]: Boolean; read write;
  435. end;
  436. TListBoxStyle = (lbStandard, lbOwnerDrawFixed, lbOwnerDrawVariable);
  437. TListBox = class(TCustomListBox)
  438. property Anchors: TAnchors; read write;
  439. property BorderStyle: TBorderStyle; read write;
  440. property Color: TColor; read write;
  441. property Font: TFont; read write;
  442. property MultiSelect: Boolean; read write;
  443. property Sorted: Boolean; read write;
  444. property Style: TListBoxStyle; read write;
  445. property OnClick: TNotifyEvent; read write;
  446. property OnDblClick: TNotifyEvent; read write;
  447. property OnKeyDown: TKeyEvent; read write;
  448. property OnKeyPress: TKeyPressEvent; read write;
  449. property OnKeyUp: TKeyEvent; read write;
  450. end;
  451. TNewListBox = class(TListBox)
  452. end;
  453. TBevelKind = (bkNone, bkTile, bkSoft, bkFlat);
  454. TBevelShape = (bsBox, bsFrame, bsTopLine, bsBottomLine, bsLeftLine, bsRightLine, bsSpacer);
  455. TBevelStyle = (bsLowered, bsRaised);
  456. TBevel = class(TGraphicControl)
  457. property Anchors: TAnchors; read write;
  458. property Shape: TBevelShape; read write;
  459. property Style: TBevelStyle; read write;
  460. end;
  461. TCustomPanel = class(TCustomControl)
  462. end;
  463. TPanelBevel = (bvNone, bvLowered, bvRaised, bvSpace);
  464. TBevelWidth = Longint;
  465. TBorderWidth = Longint;
  466. TPanel = class(TCustomPanel)
  467. property Alignment: TAlignment; read write;
  468. property Anchors: TAnchors; read write;
  469. property BevelInner: TPanelBevel; read write;
  470. property BevelKind: TBevelKind; read write;
  471. property BevelOuter: TPanelBevel; read write;
  472. property BevelWidth: TBevelWidth; read write;
  473. property BorderWidth: TBorderWidth; read write;
  474. property BorderStyle: TBorderStyle; read write;
  475. property Caption: String; read write;
  476. property Color: TColor; read write;
  477. property Font: TFont; read write;
  478. property OnClick: TNotifyEvent; read write;
  479. property OnDblClick: TNotifyEvent; read write;
  480. end;
  481. TNewStaticText = class(TWinControl)
  482. function AdjustHeight: Integer;
  483. property Alignment: TAlignment; read write;
  484. property Anchors: TAnchors; read write;
  485. property AutoSize: Boolean; read write;
  486. property Caption: String; read write;
  487. property Color: TColor; read write;
  488. property FocusControl: TWinControl; read write;
  489. property Font: TFont; read write;
  490. property ForceLTRReading: Boolean; read write;
  491. property ShowAccelChar: Boolean; read write;
  492. property WordWrap: Boolean; read write;
  493. property OnClick: TNotifyEvent; read write;
  494. property OnDblClick: TNotifyEvent; read write;
  495. end;
  496. TCheckItemOperation = (coUncheck, coCheck, coCheckWithChildren);
  497. TNewCheckListBox = class(TCustomListBox)
  498. function AddCheckBox(const ACaption, ASubItem: String; ALevel: Byte; AChecked, AEnabled, AHasInternalChildren, ACheckWhenParentChecked: Boolean; AObject: TObject): Integer;
  499. function AddGroup(ACaption, ASubItem: String; ALevel: Byte; AObject: TObject): Integer;
  500. function AddRadioButton(const ACaption, ASubItem: String; ALevel: Byte; AChecked, AEnabled: Boolean; AObject: TObject): Integer;
  501. function CheckItem(const Index: Integer; const AOperation: TCheckItemOperation): Boolean;
  502. property Anchors: TAnchors; read write;
  503. property Checked[Index: Integer]: Boolean; read write;
  504. property State[Index: Integer]: TCheckBoxState; read write;
  505. property ItemCaption[Index: Integer]: String; read write;
  506. property ItemEnabled[Index: Integer]: Boolean; read write;
  507. property ItemFontStyle[Index: Integer]: TFontStyles; read write;
  508. property ItemLevel[Index: Integer]: Byte; read;
  509. property ItemObject[Index: Integer]: TObject; read write;
  510. property ItemSubItem[Index: Integer]: String; read write;
  511. property SubItemFontStyle[Index: Integer]: TFontStyles; read write;
  512. property Flat: Boolean; read write;
  513. property MinItemHeight: Integer; read write;
  514. property Offset: Integer; read write;
  515. property OnClickCheck: TNotifyEvent; read write;
  516. property BorderStyle: TBorderStyle; read write;
  517. property Color: TColor; read write;
  518. property Font: TFont; read write;
  519. property Sorted: Boolean; read write;
  520. property OnClick: TNotifyEvent; read write;
  521. property OnDblClick: TNotifyEvent; read write;
  522. property OnKeyDown: TKeyEvent; read write;
  523. property OnKeyPress: TKeyPressEvent; read write;
  524. property OnKeyUp: TKeyEvent; read write;
  525. property ShowLines: Boolean; read write;
  526. property WantTabs: Boolean; read write;
  527. property RequireRadioSelection: Boolean; read write;
  528. end;
  529. TNewProgressBarState = (npbsNormal, npbsError, npbsPaused);
  530. TNewProgressBarStyle = (npbstNormal, npbstMarquee);
  531. TNewProgressBar = class(TWinControl)
  532. property Anchors: TAnchors; read write;
  533. property Min: Longint; read write;
  534. property Max: Longint; read write;
  535. property Position: Longint; read write;
  536. property State: TNewProgressBarState; read write;
  537. property Style: TNewProgressBarStyle; read write;
  538. property Visible: Boolean; read write;
  539. end;
  540. TRichEditViewer = class(TMemo)
  541. property Anchors: TAnchors; read write;
  542. property BevelKind: TBevelKind; read write;
  543. property BorderStyle: TBorderStyle; read write;
  544. property RTFText: AnsiString; write;
  545. property UseRichEdit: Boolean; read write;
  546. end;
  547. TPasswordEdit = class(TCustomEdit)
  548. property Anchors: TAnchors; read write;
  549. property AutoSelect: Boolean; read write;
  550. property AutoSize: Boolean; read write;
  551. property BorderStyle: TBorderStyle; read write;
  552. property Color: TColor; read write;
  553. property Font: TFont; read write;
  554. property HideSelection: Boolean; read write;
  555. property MaxLength: Integer; read write;
  556. property Password: Boolean; read write;
  557. property ReadOnly: Boolean; read write;
  558. property Text: String; read write;
  559. property OnChange: TNotifyEvent; read write;
  560. property OnClick: TNotifyEvent; read write;
  561. property OnDblClick: TNotifyEvent; read write;
  562. property OnKeyDown: TKeyEvent; read write;
  563. property OnKeyPress: TKeyPressEvent; read write;
  564. property OnKeyUp: TKeyEvent; read write;
  565. end;
  566. TCustomFolderTreeView = class(TWinControl)
  567. procedure ChangeDirectory(const Value: String; const CreateNewItems: Boolean);
  568. procedure CreateNewDirectory(const ADefaultName: String);
  569. property: Directory: String; read write;
  570. end;
  571. TFolderRenameEvent = procedure(Sender: TCustomFolderTreeView; var NewName: String; var Accept: Boolean);
  572. TFolderTreeView = class(TCustomFolderTreeView)
  573. property Anchors: TAnchors; read write;
  574. property OnChange: TNotifyEvent; read write;
  575. property OnRename: TFolderRenameEvent; read write;
  576. end;
  577. TStartMenuFolderTreeView = class(TCustomFolderTreeView)
  578. procedure SetPaths(const AUserPrograms, ACommonPrograms, AUserStartup, ACommonStartup: String);
  579. property Anchors: TAnchors; read write;
  580. property OnChange: TNotifyEvent; read write;
  581. property OnRename: TFolderRenameEvent; read write;
  582. end;
  583. TBitmapButton = class(TCustomControl)
  584. property Anchors: TAnchors; read write;
  585. property AutoSize: Boolean; read write;
  586. property BackColor: TColor; read write;
  587. property Bitmap: TBitmap; read write;
  588. property Caption: Boolean; read write;
  589. property Center: Boolean; read write;
  590. property PngImage: TPngImage; read write;
  591. property ReplaceColor: TColor; read write;
  592. property ReplaceWithColor: TColor; read write;
  593. property Stretch: Boolean; read write;
  594. property OnClick: TNotifyEvent; read write;
  595. property OnDblClick: TNotifyEvent; read write;
  596. end;
  597. TBitmapImage = class(TGraphicControl)
  598. property Anchors: TAnchors; read write;
  599. property AutoSize: Boolean; read write;
  600. property BackColor: TColor; read write;
  601. property Bitmap: TBitmap; read write;
  602. property Center: Boolean; read write;
  603. property PngImage: TPngImage; read write;
  604. property ReplaceColor: TColor; read write;
  605. property ReplaceWithColor: TColor; read write;
  606. property Stretch: Boolean; read write;
  607. property OnClick: TNotifyEvent; read write;
  608. property OnDblClick: TNotifyEvent; read write;
  609. end;
  610. TNewNotebook = class(TWinControl)
  611. function FindNextPage(CurPage: TNewNotebookPage; GoForward: Boolean): TNewNotebookPage;
  612. property Anchors: TAnchors; read write;
  613. property PageCount: NativeInt; read write;
  614. property Pages[Index: NativeInt]: TNewNotebookPage; read;
  615. property ActivePage: TNewNotebookPage; read write;
  616. end;
  617. TNewNotebookPage = class(TCustomControl)
  618. property Color: TColor; read write;
  619. property Notebook: TNewNotebook; read write;
  620. property PageIndex: Integer; read write;
  621. end;
  622. TWizardPageNotifyEvent = procedure(Sender: TWizardPage);
  623. TWizardPageButtonEvent = function(Sender: TWizardPage): Boolean;
  624. TWizardPageCancelEvent = procedure(Sender: TWizardPage; var ACancel, AConfirm: Boolean);
  625. TWizardPageShouldSkipEvent = function(Sender: TWizardPage): Boolean;
  626. TWizardPage = class(TComponent)
  627. property ID: Integer; read;
  628. property Caption: String; read write;
  629. property Description: String; read write;
  630. property Surface: TNewNotebookPage; read;
  631. property SurfaceColor: TColor; read;
  632. property SurfaceHeight: Integer; read;
  633. property SurfaceExtraHeight: Integer; read;
  634. property SurfaceWidth: Integer; read;
  635. property SurfaceExtraWidth: Integer; read;
  636. property OnActivate: TWizardPageNotifyEvent; read write;
  637. property OnBackButtonClick: TWizardPageButtonEvent; read write;
  638. property OnCancelButtonClick: TWizardPageCancelEvent; read write;
  639. property OnNextButtonClick: TWizardPageButtonEvent; read write;
  640. property OnShouldSkipPage: TWizardPageShouldSkipEvent; read write;
  641. end;
  642. TInputQueryWizardPage = class(TWizardPage)
  643. function Add(const APrompt: String; const APassword: Boolean): NativeInt;
  644. property Edits[Index: NativeInt]: TPasswordEdit; read;
  645. property PromptLabels[Index: NativeInt]: TNewStaticText; read;
  646. property SubCaptionLabel: TNewStaticText; read;
  647. property Values[Index: NativeInt]: String; read write;
  648. end;
  649. TInputOptionWizardPage = class(TWizardPage)
  650. function Add(const ACaption: String): Integer;
  651. function AddEx(const ACaption: String; const ALevel: Byte; const AExclusive: Boolean): Integer;
  652. property CheckListBox: TNewCheckListBox; read;
  653. property SelectedValueIndex: Integer; read write;
  654. property SubCaptionLabel: TNewStaticText; read;
  655. property Values[Index: Integer]: Boolean; read write;
  656. end;
  657. TInputDirWizardPage = class(TWizardPage)
  658. function Add(const APrompt: String): NativeInt;
  659. property Buttons[Index: NativeInt]: TNewButton; read;
  660. property Edits[Index: NativeInt]: TNewPathEdit; read;
  661. property NewFolderName: String; read write;
  662. property PromptLabels[Index: NativeInt]: TNewStaticText; read;
  663. property SubCaptionLabel: TNewStaticText; read;
  664. property Values[Index: NativeInt]: String; read write;
  665. end;
  666. TInputFileWizardPage = class(TWizardPage)
  667. function Add(const APrompt, AFilter, ADefaultExtension: String): NativeInt;
  668. property Buttons[Index: NativeInt]: TNewButton; read;
  669. property Edits[Index: NativeInt]: TNewPathEdit; read;
  670. property PromptLabels[Index: NativeInt]: TNewStaticText; read;
  671. property SubCaptionLabel: TNewStaticText; read;
  672. property Values[Index: NativeInt]: String; read write;
  673. property IsSaveButton[Index: NativeInt]: Boolean; read write;
  674. end;
  675. TOutputMsgWizardPage = class(TWizardPage)
  676. property MsgLabel: TNewStaticText; read;
  677. end;
  678. TOutputMsgMemoWizardPage = class(TWizardPage)
  679. property RichEditViewer: TRichEditViewer; read;
  680. property SubCaptionLabel: TNewStaticText; read;
  681. end;
  682. TOutputProgressWizardPage = class(TWizardPage)
  683. procedure Hide;
  684. property Msg1Label: TNewStaticText; read;
  685. property Msg2Label: TNewStaticText; read;
  686. property ProgressBar: TNewProgressBar; read;
  687. procedure SetProgress(const Position, Max: Longint);
  688. procedure SetText(const Msg1, Msg2: String);
  689. procedure Show;
  690. end;
  691. TOutputMarqueeProgressWizardPage = class(TOutputProgressWizardPage)
  692. procedure Animate;
  693. end;
  694. TDownloadWizardPage = class(TOutputProgressWizardPage)
  695. property AbortButton: TNewButton; read;
  696. property AbortedByUser: Boolean; read;
  697. function Add(const Url, BaseName, RequiredSHA256OfFile: String): Integer;
  698. function AddWithISSigVerify(const Url, ISSigUrl, BaseName: String; const AllowedKeysRuntimeIDs: TStringList): Integer;
  699. function AddEx(const Url, BaseName, RequiredSHA256OfFile, UserName, Password: String): Integer;
  700. function AddExWithISSigVerify(const Url, ISSigUrl, BaseName, UserName, Password: String; const AllowedKeysRuntimeIDs: TStringList: Integer;
  701. procedure Clear;
  702. function Download: Int64;
  703. property LastBaseNameOrUrl: String; read;
  704. property ShowBaseNameInsteadOfUrl: Boolean; read write;
  705. end;
  706. TExtractionWizardPage = class(TOutputProgressWizardPage)
  707. property AbortButton: TNewButton; read;
  708. property AbortedByUser: Boolean; read;
  709. function Add(const ArchiveFileName, DestDir: String; const FullPaths: Boolean): Integer;
  710. function AddEx(const ArchiveFileName, DestDir, Password: String; const FullPaths: Boolean): Integer;
  711. procedure Clear;
  712. procedure Extract;
  713. property ShowArchiveInsteadOfFile: Boolean; read write;
  714. end;
  715. TUIStateForm = class(TForm)
  716. end;
  717. TSetupForm = class(TUIStateForm)
  718. function CalculateButtonWidth(const ButtonCaptions: array of String): Integer;
  719. function ShouldSizeX: Boolean;
  720. function ShouldSizeY: Boolean;
  721. procedure FlipAndCenterIfNeeded(const ACenterInsideControl: Boolean; const CenterInsideControlCtl: TWinControl; const CenterInsideControlInsideClientArea: Boolean);
  722. property CenterOnShow: Boolean; read write;
  723. property ControlsFlipped: Boolean; read;
  724. property GetExtraClientWidth: Integer; read;
  725. property GetExtraClientHeight: Integer; read;
  726. property FlipControlsOnShow: Boolean; read write;
  727. property KeepSizeX: Boolean; read;
  728. property KeepSizeY: Boolean; read;
  729. property RightToLeft: Boolean; read;
  730. end;
  731. TWizardForm = class(TSetupForm)
  732. property CancelButton: TNewButton; read;
  733. property NextButton: TNewButton; read;
  734. property BackButton: TNewButton; read;
  735. property OuterNotebook: TNotebook; read;
  736. property InnerNotebook: TNotebook; read;
  737. property WelcomePage: TNewNotebookPage; read;
  738. property InnerPage: TNewNotebookPage; read;
  739. property FinishedPage: TNewNotebookPage; read;
  740. property LicensePage: TNewNotebookPage; read;
  741. property PasswordPage: TNewNotebookPage; read;
  742. property InfoBeforePage: TNewNotebookPage; read;
  743. property UserInfoPage: TNewNotebookPage; read;
  744. property SelectDirPage: TNewNotebookPage; read;
  745. property SelectComponentsPage: TNewNotebookPage; read;
  746. property SelectProgramGroupPage: TNewNotebookPage; read;
  747. property SelectTasksPage: TNewNotebookPage; read;
  748. property ReadyPage: TNewNotebookPage; read;
  749. property PreparingPage: TNewNotebookPage; read;
  750. property InstallingPage: TNewNotebookPage; read;
  751. property InfoAfterPage: TNewNotebookPage; read;
  752. property DiskSpaceLabel: TNewStaticText; read;
  753. property DirEdit: TNewPathEdit; read;
  754. property GroupEdit: TNewEdit; read;
  755. property NoIconsCheck: TNewCheckBox; read;
  756. property PasswordLabel: TNewStaticText; read;
  757. property PasswordEdit: TPasswordEdit; read;
  758. property PasswordEditLabel: TNewStaticText; read;
  759. property ReadyMemo: TNewMemo; read;
  760. property TypesCombo: TNewComboBox; read;
  761. property Bevel: TBevel; read;
  762. property WizardBitmapImage: TBitmapImage; read;
  763. property WelcomeLabel1: TNewStaticText; read;
  764. property InfoBeforeMemo: TRichEditViewer; read;
  765. property InfoBeforeClickLabel: TNewStaticText; read;
  766. property MainPanel: TPanel; read;
  767. property Bevel1: TBevel; read;
  768. property PageNameLabel: TNewStaticText; read;
  769. property PageDescriptionLabel: TNewStaticText; read;
  770. property WizardSmallBitmapImage: TBitmapImage; read;
  771. property ReadyLabel: TNewStaticText; read;
  772. property FinishedLabel: TNewStaticText; read;
  773. property YesRadio: TNewRadioButton; read;
  774. property NoRadio: TNewRadioButton; read;
  775. property WizardBitmapImage2: TBitmapImage; read;
  776. property WelcomeLabel2: TNewStaticText; read;
  777. property LicenseLabel1: TNewStaticText; read;
  778. property LicenseMemo: TRichEditViewer; read;
  779. property InfoAfterMemo: TRichEditViewer; read;
  780. property InfoAfterClickLabel: TNewStaticText; read;
  781. property ComponentsList: TNewCheckListBox; read;
  782. property ComponentsDiskSpaceLabel: TNewStaticText; read;
  783. property BeveledLabel: TNewStaticText; read;
  784. property StatusLabel: TNewStaticText; read;
  785. property FilenameLabel: TNewStaticText; read;
  786. property ProgressGauge: TNewProgressBar; read;
  787. property SelectDirLabel: TNewStaticText; read;
  788. property SelectStartMenuFolderLabel: TNewStaticText; read;
  789. property SelectComponentsLabel: TNewStaticText; read;
  790. property SelectTasksLabel: TNewStaticText; read;
  791. property LicenseAcceptedRadio: TNewRadioButton; read;
  792. property LicenseNotAcceptedRadio: TNewRadioButton; read;
  793. property UserInfoNameLabel: TNewStaticText; read;
  794. property UserInfoNameEdit: TNewEdit; read;
  795. property UserInfoOrgLabel: TNewStaticText; read;
  796. property UserInfoOrgEdit: TNewEdit; read;
  797. property PreparingErrorBitmapImage: TBitmapImage; read;
  798. property PreparingLabel: TNewStaticText; read;
  799. property FinishedHeadingLabel: TNewStaticText; read;
  800. property UserInfoSerialLabel: TNewStaticText; read;
  801. property UserInfoSerialEdit: TNewEdit; read;
  802. property TasksList: TNewCheckListBox; read;
  803. property RunList: TNewCheckListBox; read;
  804. property DirBrowseButton: TNewButton; read;
  805. property GroupBrowseButton: TNewButton; read;
  806. property SelectDirBitmapImage: TBitmapImage; read;
  807. property SelectGroupBitmapImage: TBitmapImage; read;
  808. property SelectDirBrowseLabel: TNewStaticText; read;
  809. property SelectStartMenuFolderBrowseLabel: TNewStaticText; read;
  810. property PreparingYesRadio: TNewRadioButton; read;
  811. property PreparingNoRadio: TNewRadioButton; read;
  812. property PreparingMemo: TNewMemo; read;
  813. property CurPageID: Integer; read;
  814. function AdjustLabelHeight(ALabel: TNewStaticText): Integer;
  815. function AdjustLinkLabelHeight(ALinkLabel: TNewLinkLabel): Integer;
  816. procedure IncTopDecHeight(AControl: TControl; Amount: Integer);
  817. property PrevAppDir: String; read;
  818. end;
  819. TUninstallProgressForm = class(TSetupForm)
  820. property OuterNotebook: TNewNotebook; read;
  821. property InnerPage: TNewNotebookPage; read;
  822. property InnerNotebook: TNewNotebook; read;
  823. property InstallingPage: TNewNotebookPage; read;
  824. property MainPanel: TPanel; read;
  825. property PageNameLabel: TNewStaticText; read;
  826. property PageDescriptionLabel: TNewStaticText; read;
  827. property WizardSmallBitmapImage: TBitmapImage; read;
  828. property Bevel1: TBevel; read;
  829. property StatusLabel: TNewStaticText; read;
  830. property ProgressBar: TNewProgressBar; read;
  831. property BeveledLabel: TNewStaticText; read;
  832. property Bevel: TBevel; read;
  833. property CancelButton: TNewButton; read;
  834. end;