home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 9 / CDACTUAL9.iso / progs / CB / DATA.Z / COMCTRLS.HPP < prev    next >
Encoding:
C/C++ Source or Header  |  1996-11-06  |  84.4 KB  |  2,108 lines

  1. //----------------------------------------------------------------------------
  2. // ComCtrls.hpp - dcc32 generated hdr (DO NOT EDIT) rev: -2
  3. // From: ComCtrls.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef ComCtrlsHPP
  6. #define ComCtrlsHPP
  7. //----------------------------------------------------------------------------
  8. #ifndef RichEditHPP
  9. #include <RichEdit.hpp>
  10. #endif
  11.  
  12. #ifndef StdCtrlsHPP
  13. #include <StdCtrls.hpp>
  14. #endif
  15.  
  16. #ifndef GraphicsHPP
  17. #include <Graphics.hpp>
  18. #endif
  19.  
  20. #ifndef MenusHPP
  21. #include <Menus.hpp>
  22. #endif
  23.  
  24. #ifndef FormsHPP
  25. #include <Forms.hpp>
  26. #endif
  27.  
  28. #ifndef ControlsHPP
  29. #include <Controls.hpp>
  30. #endif
  31.  
  32. #ifndef ClassesHPP
  33. #include <Classes.hpp>
  34. #endif
  35.  
  36. #ifndef CommCtrlHPP
  37. #include <CommCtrl.hpp>
  38. #endif
  39.  
  40. #ifndef SysUtilsHPP
  41. #include <SysUtils.hpp>
  42. #endif
  43.  
  44. #ifndef WindowsHPP
  45. #include <Windows.hpp>
  46. #endif
  47.  
  48. #ifndef MessagesHPP
  49. #include <Messages.hpp>
  50. #endif
  51.  
  52. #ifndef SystemHPP
  53. #include <System.hpp>
  54. #endif
  55.  
  56. namespace Comctrls
  57. {
  58. //-- type declarations -------------------------------------------------------
  59. typedef void __fastcall (__closure *TTabChangingEvent)(System::TObject *Sender, System::Boolean &AllowChange
  60.     );
  61.  
  62. class __declspec(delphiclass) TCustomTabControl;
  63. class __declspec(pascalimplementation) TCustomTabControl : public Controls::TWinControl
  64. {
  65.     typedef TCustomTabControl ThisClass;
  66.     typedef Controls::TWinControl inherited;
  67.     
  68. private:
  69.     Classes::TStrings *FTabs;
  70.     Classes::TStringList *FSaveTabs;
  71.     System::Integer FSaveTabIndex;
  72.     Windows::TSmallPoint FTabSize;
  73.     System::Boolean FMultiLine;
  74.     System::Boolean FUpdating;
  75.     Classes::TNotifyEvent FOnChange;
  76.     TTabChangingEvent FOnChanging;
  77.     Windows::TRect __fastcall GetDisplayRect(void);
  78.     System::Integer __fastcall GetTabIndex(void);
  79.     void __fastcall SetMultiLine(System::Boolean Value);
  80.     void __fastcall SetTabHeight(System::Smallint Value);
  81.     void __fastcall SetTabIndex(System::Integer Value);
  82.     void __fastcall SetTabs(Classes::TStrings *Value);
  83.     void __fastcall SetTabWidth(System::Smallint Value);
  84.     void __fastcall TabsChanged(void);
  85.     void __fastcall UpdateTabSize(void);
  86.     MESSAGE void __fastcall WMDestroy(Messages::TWMNoParams &Message);
  87.     MESSAGE void __fastcall CMTabStopChanged(Messages::TMessage &Message);
  88.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  89.     
  90. protected:
  91.     virtual void __fastcall AlignControls(Controls::TControl *AControl, Windows::TRect &Rect);
  92.     virtual System::Boolean __fastcall CanChange(void);
  93.     virtual void __fastcall Change(void);
  94.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  95.     virtual void __fastcall CreateWnd(void);
  96.     virtual void __fastcall DestroyWnd(void);
  97.     __property Windows::TRect DisplayRect = {read=GetDisplayRect};
  98.     __property System::Boolean MultiLine = {read=FMultiLine, write=SetMultiLine, default=0};
  99.     __property System::Smallint TabHeight = {read=FTabSize.y, write=SetTabHeight, default=0};
  100.     __property System::Integer TabIndex = {read=GetTabIndex, write=SetTabIndex, default=-1};
  101.     __property Classes::TStrings * Tabs = {read=FTabs, write=SetTabs, nodefault};
  102.     __property System::Smallint TabWidth = {read=FTabSize.x, write=SetTabWidth, default=0};
  103.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  104.     __property TTabChangingEvent OnChanging = {read=FOnChanging, write=FOnChanging};
  105.     
  106. public:
  107.     __fastcall virtual TCustomTabControl(Classes::TComponent *AOwner);
  108.     __fastcall virtual ~TCustomTabControl(void);
  109.     __property TabStop ;
  110. };
  111.  
  112. class __declspec(delphiclass) TTabControl;
  113. class __declspec(pascalimplementation) TTabControl : public TCustomTabControl
  114. {
  115.     typedef TTabControl ThisClass;
  116.     typedef TCustomTabControl inherited;
  117.     
  118. public:
  119.     __property DisplayRect ;
  120.     
  121. __published:
  122.     __property Align ;
  123.     __property DragCursor ;
  124.     __property DragMode ;
  125.     __property Enabled ;
  126.     __property Font ;
  127.     __property MultiLine ;
  128.     __property ParentFont ;
  129.     __property ParentShowHint ;
  130.     __property PopupMenu ;
  131.     __property ShowHint ;
  132.     __property TabHeight ;
  133.     __property TabIndex ;
  134.     __property TabOrder ;
  135.     __property Tabs ;
  136.     __property TabStop ;
  137.     __property TabWidth ;
  138.     __property Visible ;
  139.     __property OnChange ;
  140.     __property OnChanging ;
  141.     __property OnDragDrop ;
  142.     __property OnDragOver ;
  143.     __property OnEndDrag ;
  144.     __property OnEnter ;
  145.     __property OnExit ;
  146.     __property OnMouseDown ;
  147.     __property OnMouseMove ;
  148.     __property OnMouseUp ;
  149.     __property OnStartDrag ;
  150. public:
  151.     /* !! TCustomTabControl.Create */ __fastcall virtual TTabControl(Classes::TComponent *AOwner) : Comctrls::TCustomTabControl(
  152.         AOwner) { }
  153.     /* !! TCustomTabControl.Destroy */ __fastcall virtual ~TTabControl(void) { }
  154.     
  155. };
  156.  
  157. class __declspec(delphiclass) TTabSheet;
  158. class __declspec(delphiclass) TPageControl;
  159. class __declspec(pascalimplementation) TPageControl : public TCustomTabControl
  160. {
  161.     typedef TPageControl ThisClass;
  162.     typedef TCustomTabControl inherited;
  163.     
  164. private:
  165.     Classes::TList *FPages;
  166.     TTabSheet *FActivePage;
  167.     void __fastcall ChangeActivePage(TTabSheet *Page);
  168.     void __fastcall DeleteTab(TTabSheet *Page);
  169.     TTabSheet *__fastcall GetPage(System::Integer Index);
  170.     System::Integer __fastcall GetPageCount(void);
  171.     void __fastcall InsertPage(TTabSheet *Page);
  172.     void __fastcall InsertTab(TTabSheet *Page);
  173.     void __fastcall MoveTab(System::Integer CurIndex, System::Integer NewIndex);
  174.     void __fastcall RemovePage(TTabSheet *Page);
  175.     void __fastcall SetActivePage(TTabSheet *Page);
  176.     void __fastcall UpdateTab(TTabSheet *Page);
  177.     void __fastcall UpdateActivePage(void);
  178.     MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &Message);
  179.     MESSAGE void __fastcall CMDialogKey(Messages::TWMKey &Message);
  180.     
  181. protected:
  182.     virtual void __fastcall Change(void);
  183.     virtual void __fastcall GetChildren(Classes::TGetChildProc Proc);
  184.     virtual void __fastcall SetChildOrder(Classes::TComponent *Child, System::Integer Order);
  185.     virtual void __fastcall ShowControl(Controls::TControl *AControl);
  186.     
  187. public:
  188.     __fastcall virtual TPageControl(Classes::TComponent *AOwner);
  189.     __fastcall virtual ~TPageControl(void);
  190.     TTabSheet *__fastcall FindNextPage(TTabSheet *CurPage, System::Boolean GoForward, System::Boolean CheckTabVisible
  191.         );
  192.     void __fastcall SelectNextPage(System::Boolean GoForward);
  193.     __property System::Integer PageCount = {read=GetPageCount, nodefault};
  194.     __property TTabSheet * Pages[System::Integer Index] = {read=GetPage};
  195.     
  196. __published:
  197.     __property TTabSheet * ActivePage = {read=FActivePage, write=SetActivePage, nodefault};
  198.     __property Align ;
  199.     __property DragCursor ;
  200.     __property DragMode ;
  201.     __property Enabled ;
  202.     __property Font ;
  203.     __property MultiLine ;
  204.     __property ParentFont ;
  205.     __property ParentShowHint ;
  206.     __property PopupMenu ;
  207.     __property ShowHint ;
  208.     __property TabHeight ;
  209.     __property TabOrder ;
  210.     __property TabStop ;
  211.     __property TabWidth ;
  212.     __property Visible ;
  213.     __property OnChange ;
  214.     __property OnChanging ;
  215.     __property OnDragDrop ;
  216.     __property OnDragOver ;
  217.     __property OnEndDrag ;
  218.     __property OnEnter ;
  219.     __property OnExit ;
  220.     __property OnMouseDown ;
  221.     __property OnMouseMove ;
  222.     __property OnMouseUp ;
  223.     __property OnStartDrag ;
  224. };
  225.  
  226. class __declspec(pascalimplementation) TTabSheet : public Controls::TWinControl
  227. {
  228.     typedef TTabSheet ThisClass;
  229.     typedef Controls::TWinControl inherited;
  230.     
  231. private:
  232.     TPageControl *FPageControl;
  233.     System::Boolean FTabVisible;
  234.     System::Boolean FTabShowing;
  235.     System::Integer __fastcall GetPageIndex(void);
  236.     System::Integer __fastcall GetTabIndex(void);
  237.     void __fastcall SetPageControl(TPageControl *APageControl);
  238.     void __fastcall SetPageIndex(System::Integer Value);
  239.     void __fastcall SetTabShowing(System::Boolean Value);
  240.     void __fastcall SetTabVisible(System::Boolean Value);
  241.     void __fastcall UpdateTabShowing(void);
  242.     MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message);
  243.     
  244. protected:
  245.     virtual void __fastcall ReadState(Classes::TReader *Reader);
  246.     
  247. public:
  248.     __fastcall virtual TTabSheet(Classes::TComponent *AOwner);
  249.     __fastcall virtual ~TTabSheet(void);
  250.     __property TPageControl * PageControl = {read=FPageControl, write=SetPageControl, nodefault};
  251.     __property System::Integer TabIndex = {read=GetTabIndex, nodefault};
  252.     
  253. __published:
  254.     __property Caption ;
  255.     __property Enabled ;
  256.     __property Font ;
  257.     __property Height  = {stored=false};
  258.     __property Left  = {stored=false};
  259.     __property System::Integer PageIndex = {read=GetPageIndex, write=SetPageIndex, stored=false, nodefault
  260.         };
  261.     __property ParentFont ;
  262.     __property ParentShowHint ;
  263.     __property PopupMenu ;
  264.     __property ShowHint ;
  265.     __property System::Boolean TabVisible = {read=FTabVisible, write=SetTabVisible, default=1};
  266.     __property Top  = {stored=false};
  267.     __property Visible  = {stored=false, default=1};
  268.     __property Width  = {stored=false};
  269.     __property OnDragDrop ;
  270.     __property OnDragOver ;
  271.     __property OnEnter ;
  272.     __property OnExit ;
  273.     __property OnMouseDown ;
  274.     __property OnMouseMove ;
  275.     __property OnMouseUp ;
  276. };
  277.  
  278. enum TStatusPanelStyle { psText, psOwnerDraw };
  279.  
  280. enum TStatusPanelBevel { pbNone, pbLowered, pbRaised };
  281.  
  282. class __declspec(delphiclass) TStatusPanel;
  283. class __declspec(pascalimplementation) TStatusPanel : public Classes::TCollectionItem
  284. {
  285.     typedef TStatusPanel ThisClass;
  286.     typedef Classes::TCollectionItem inherited;
  287.     
  288. private:
  289.     System::AnsiString FText;
  290.     System::Integer FWidth;
  291.     TAlignment FAlignment;
  292.     TStatusPanelBevel FBevel;
  293.     TStatusPanelStyle FStyle;
  294.     void __fastcall SetAlignment(Classes::TAlignment Value);
  295.     void __fastcall SetBevel(TStatusPanelBevel Value);
  296.     void __fastcall SetStyle(TStatusPanelStyle Value);
  297.     void __fastcall SetText(const System::AnsiString Value);
  298.     void __fastcall SetWidth(System::Integer Value);
  299.     
  300. public:
  301.     __fastcall virtual TStatusPanel(Classes::TCollection *Collection);
  302.     virtual void __fastcall Assign(Classes::TPersistent *Source);
  303.     
  304. __published:
  305.     __property Classes::TAlignment Alignment = {read=FAlignment, write=SetAlignment, default=0};
  306.     __property TStatusPanelBevel Bevel = {read=FBevel, write=SetBevel, default=1};
  307.     __property TStatusPanelStyle Style = {read=FStyle, write=SetStyle, default=0};
  308.     __property System::AnsiString Text = {read=FText, write=SetText, nodefault};
  309.     __property System::Integer Width = {read=FWidth, write=SetWidth, nodefault};
  310. public:
  311.     /* !! TCollectionItem.Destroy */ __fastcall virtual ~TStatusPanel(void) { }
  312.     
  313. };
  314.  
  315. class __declspec(delphiclass) TStatusPanels;
  316. class __declspec(delphiclass) TStatusBar;
  317. typedef void __fastcall (__closure *TDrawPanelEvent)(TStatusBar *StatusBar, TStatusPanel *Panel, const 
  318.     Windows::TRect &Rect);
  319.  
  320. class __declspec(pascalimplementation) TStatusBar : public Controls::TWinControl
  321. {
  322.     typedef TStatusBar ThisClass;
  323.     typedef Controls::TWinControl inherited;
  324.     
  325. private:
  326.     TStatusPanels *FPanels;
  327.     Graphics::TCanvas *FCanvas;
  328.     System::AnsiString FSimpleText;
  329.     System::Boolean FSimplePanel;
  330.     System::Boolean FSizeGrip;
  331.     TDrawPanelEvent FOnDrawPanel;
  332.     Classes::TNotifyEvent FOnResize;
  333.     void __fastcall SetPanels(TStatusPanels *Value);
  334.     void __fastcall SetSimplePanel(System::Boolean Value);
  335.     void __fastcall SetSimpleText(const System::AnsiString Value);
  336.     void __fastcall SetSizeGrip(System::Boolean Value);
  337.     void __fastcall UpdatePanel(System::Integer Index);
  338.     void __fastcall UpdatePanels(void);
  339.     MESSAGE void __fastcall CNDrawItem(Messages::TWMDrawItem &Message);
  340.     MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  341.     
  342. protected:
  343.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  344.     virtual void __fastcall CreateWnd(void);
  345.     virtual void __fastcall DrawPanel(TStatusPanel *Panel, const Windows::TRect &Rect);
  346.     virtual void __fastcall Resize(void);
  347.     
  348. public:
  349.     __fastcall virtual TStatusBar(Classes::TComponent *AOwner);
  350.     __fastcall virtual ~TStatusBar(void);
  351.     __property Graphics::TCanvas * Canvas = {read=FCanvas, nodefault};
  352.     
  353. __published:
  354.     __property Align ;
  355.     __property DragCursor ;
  356.     __property DragMode ;
  357.     __property Enabled ;
  358.     __property Font ;
  359.     __property TStatusPanels * Panels = {read=FPanels, write=SetPanels, nodefault};
  360.     __property ParentFont ;
  361.     __property ParentShowHint ;
  362.     __property PopupMenu ;
  363.     __property ShowHint ;
  364.     __property System::Boolean SimplePanel = {read=FSimplePanel, write=SetSimplePanel, nodefault};
  365.     __property System::AnsiString SimpleText = {read=FSimpleText, write=SetSimpleText, nodefault};
  366.     __property System::Boolean SizeGrip = {read=FSizeGrip, write=SetSizeGrip, default=1};
  367.     __property Visible ;
  368.     __property OnClick ;
  369.     __property OnDblClick ;
  370.     __property OnDragDrop ;
  371.     __property OnDragOver ;
  372.     __property OnEndDrag ;
  373.     __property OnMouseDown ;
  374.     __property OnMouseMove ;
  375.     __property OnMouseUp ;
  376.     __property TDrawPanelEvent OnDrawPanel = {read=FOnDrawPanel, write=FOnDrawPanel};
  377.     __property Classes::TNotifyEvent OnResize = {read=FOnResize, write=FOnResize};
  378.     __property OnStartDrag ;
  379. };
  380.  
  381. class __declspec(pascalimplementation) TStatusPanels : public Classes::TCollection
  382. {
  383.     typedef TStatusPanels ThisClass;
  384.     typedef Classes::TCollection inherited;
  385.     
  386. private:
  387.     TStatusBar *FStatusBar;
  388.     TStatusPanel *__fastcall GetItem(System::Integer Index);
  389.     void __fastcall SetItem(System::Integer Index, TStatusPanel *Value);
  390.     
  391. protected:
  392.     virtual void __fastcall Update(Classes::TCollectionItem *Item);
  393.     
  394. public:
  395.     __fastcall TStatusPanels(TStatusBar *StatusBar);
  396.     TStatusPanel *__fastcall Add(void);
  397.     __property TStatusPanel * Items[System::Integer Index] = {read=GetItem, write=SetItem/*, default*/}
  398.         ;
  399. public:
  400.     /* !! TCollection.Destroy */ __fastcall virtual ~TStatusPanels(void) { }
  401.     
  402. };
  403.  
  404. enum THeaderSectionStyle { hsText, hsOwnerDraw };
  405.  
  406. class __declspec(delphiclass) THeaderSection;
  407. class __declspec(pascalimplementation) THeaderSection : public Classes::TCollectionItem
  408. {
  409.     typedef THeaderSection ThisClass;
  410.     typedef Classes::TCollectionItem inherited;
  411.     
  412. private:
  413.     System::AnsiString FText;
  414.     System::Integer FWidth;
  415.     System::Integer FMinWidth;
  416.     System::Integer FMaxWidth;
  417.     TAlignment FAlignment;
  418.     THeaderSectionStyle FStyle;
  419.     System::Boolean FAllowClick;
  420.     System::Integer __fastcall GetLeft(void);
  421.     System::Integer __fastcall GetRight(void);
  422.     void __fastcall SetAlignment(Classes::TAlignment Value);
  423.     void __fastcall SetMaxWidth(System::Integer Value);
  424.     void __fastcall SetMinWidth(System::Integer Value);
  425.     void __fastcall SetStyle(THeaderSectionStyle Value);
  426.     void __fastcall SetText(const System::AnsiString Value);
  427.     void __fastcall SetWidth(System::Integer Value);
  428.     
  429. public:
  430.     __fastcall virtual THeaderSection(Classes::TCollection *Collection);
  431.     virtual void __fastcall Assign(Classes::TPersistent *Source);
  432.     __property System::Integer Left = {read=GetLeft, nodefault};
  433.     __property System::Integer Right = {read=GetRight, nodefault};
  434.     
  435. __published:
  436.     __property Classes::TAlignment Alignment = {read=FAlignment, write=SetAlignment, default=0};
  437.     __property System::Boolean AllowClick = {read=FAllowClick, write=FAllowClick, default=1};
  438.     __property System::Integer MaxWidth = {read=FMaxWidth, write=SetMaxWidth, default=10000};
  439.     __property System::Integer MinWidth = {read=FMinWidth, write=SetMinWidth, default=0};
  440.     __property THeaderSectionStyle Style = {read=FStyle, write=SetStyle, default=0};
  441.     __property System::AnsiString Text = {read=FText, write=SetText, nodefault};
  442.     __property System::Integer Width = {read=FWidth, write=SetWidth, nodefault};
  443. public:
  444.     /* !! TCollectionItem.Destroy */ __fastcall virtual ~THeaderSection(void) { }
  445.     
  446. };
  447.  
  448. class __declspec(delphiclass) THeaderSections;
  449. class __declspec(delphiclass) THeaderControl;
  450. typedef void __fastcall (__closure *TDrawSectionEvent)(THeaderControl *HeaderControl, THeaderSection *
  451.     Section, const Windows::TRect &Rect, System::Boolean Pressed);
  452.  
  453. typedef void __fastcall (__closure *TSectionNotifyEvent)(THeaderControl *HeaderControl, THeaderSection *
  454.     Section);
  455.  
  456. enum TSectionTrackState { tsTrackBegin, tsTrackMove, tsTrackEnd };
  457.  
  458. typedef void __fastcall (__closure *TSectionTrackEvent)(THeaderControl *HeaderControl, THeaderSection *
  459.     Section, System::Integer Width, TSectionTrackState State);
  460.  
  461. class __declspec(pascalimplementation) THeaderControl : public Controls::TWinControl
  462. {
  463.     typedef THeaderControl ThisClass;
  464.     typedef Controls::TWinControl inherited;
  465.     
  466. private:
  467.     THeaderSections *FSections;
  468.     Graphics::TCanvas *FCanvas;
  469.     TDrawSectionEvent FOnDrawSection;
  470.     Classes::TNotifyEvent FOnResize;
  471.     TSectionNotifyEvent FOnSectionClick;
  472.     TSectionNotifyEvent FOnSectionResize;
  473.     TSectionTrackEvent FOnSectionTrack;
  474.     void __fastcall SetSections(THeaderSections *Value);
  475.     void __fastcall UpdateItem(System::Integer Message, System::Integer Index);
  476.     void __fastcall UpdateSection(System::Integer Index);
  477.     void __fastcall UpdateSections(void);
  478.     MESSAGE void __fastcall CNDrawItem(Messages::TWMDrawItem &Message);
  479.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  480.     MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  481.     MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  482.     
  483. protected:
  484.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  485.     virtual void __fastcall CreateWnd(void);
  486.     virtual void __fastcall DrawSection(THeaderSection *Section, const Windows::TRect &Rect, System::Boolean 
  487.         Pressed);
  488.     virtual void __fastcall Resize(void);
  489.     virtual void __fastcall SectionClick(THeaderSection *Section);
  490.     virtual void __fastcall SectionResize(THeaderSection *Section);
  491.     virtual void __fastcall SectionTrack(THeaderSection *Section, System::Integer Width, TSectionTrackState 
  492.         State);
  493.     
  494. public:
  495.     __fastcall virtual THeaderControl(Classes::TComponent *AOwner);
  496.     __fastcall virtual ~THeaderControl(void);
  497.     __property Graphics::TCanvas * Canvas = {read=FCanvas, nodefault};
  498.     
  499. __published:
  500.     __property Align ;
  501.     __property DragCursor ;
  502.     __property DragMode ;
  503.     __property Enabled ;
  504.     __property Font ;
  505.     __property THeaderSections * Sections = {read=FSections, write=SetSections, nodefault};
  506.     __property ShowHint ;
  507.     __property ParentFont ;
  508.     __property ParentShowHint ;
  509.     __property PopupMenu ;
  510.     __property Visible ;
  511.     __property OnDragDrop ;
  512.     __property OnDragOver ;
  513.     __property OnEndDrag ;
  514.     __property OnMouseDown ;
  515.     __property OnMouseMove ;
  516.     __property OnMouseUp ;
  517.     __property TDrawSectionEvent OnDrawSection = {read=FOnDrawSection, write=FOnDrawSection};
  518.     __property Classes::TNotifyEvent OnResize = {read=FOnResize, write=FOnResize};
  519.     __property TSectionNotifyEvent OnSectionClick = {read=FOnSectionClick, write=FOnSectionClick};
  520.     __property TSectionNotifyEvent OnSectionResize = {read=FOnSectionResize, write=FOnSectionResize};
  521.     __property TSectionTrackEvent OnSectionTrack = {read=FOnSectionTrack, write=FOnSectionTrack};
  522.     __property OnStartDrag ;
  523. };
  524.  
  525. class __declspec(pascalimplementation) THeaderSections : public Classes::TCollection
  526. {
  527.     typedef THeaderSections ThisClass;
  528.     typedef Classes::TCollection inherited;
  529.     
  530. private:
  531.     THeaderControl *FHeaderControl;
  532.     THeaderSection *__fastcall GetItem(System::Integer Index);
  533.     void __fastcall SetItem(System::Integer Index, THeaderSection *Value);
  534.     
  535. protected:
  536.     virtual void __fastcall Update(Classes::TCollectionItem *Item);
  537.     
  538. public:
  539.     __fastcall THeaderSections(THeaderControl *HeaderControl);
  540.     THeaderSection *__fastcall Add(void);
  541.     __property THeaderSection * Items[System::Integer Index] = {read=GetItem, write=SetItem/*, default*/
  542.         };
  543. public:
  544.     /* !! TCollection.Destroy */ __fastcall virtual ~THeaderSections(void) { }
  545.     
  546. };
  547.  
  548. enum TNodeState { nsCut, nsDropHilited, nsFocused, nsSelected, nsExpanded };
  549.  
  550. enum TNodeAttachMode { naAdd, naAddFirst, naAddChild, naAddChildFirst, naInsert };
  551.  
  552. enum TAddMode { taAddFirst, taAdd, taInsert };
  553.  
  554. struct TNodeInfo;
  555. typedef TNodeInfo *PNodeInfo;
  556.  
  557. struct TNodeInfo
  558. {
  559.     System::Integer ImageIndex;
  560.     System::Integer SelectedIndex;
  561.     System::Integer StateIndex;
  562.     System::Integer OverlayIndex;
  563.     void *Data;
  564.     System::Integer Count;
  565.     SmallString<255>  Text;
  566. } ;
  567.  
  568. class __declspec(delphiclass) TTreeNode;
  569. class __declspec(delphiclass) TTreeNodes;
  570. class __declspec(delphiclass) TCustomTreeView;
  571. enum TSortType { stNone, stData, stText, stBoth };
  572.  
  573. typedef void __fastcall (__closure *TTVEditingEvent)(System::TObject *Sender, TTreeNode *Node, System::Boolean 
  574.     &AllowEdit);
  575.  
  576. typedef void __fastcall (__closure *TTVEditedEvent)(System::TObject *Sender, TTreeNode *Node,  System::AnsiString &
  577.     S);
  578.  
  579. typedef void __fastcall (__closure *TTVExpandedEvent)(System::TObject *Sender, TTreeNode *Node);
  580.  
  581. typedef void __fastcall (__closure *TTVExpandingEvent)(System::TObject *Sender, TTreeNode *Node, System::Boolean 
  582.     &AllowExpansion);
  583.  
  584. typedef void __fastcall (__closure *TTVCollapsingEvent)(System::TObject *Sender, TTreeNode *Node, System::Boolean 
  585.     &AllowCollapse);
  586.  
  587. typedef void __fastcall (__closure *TTVChangingEvent)(System::TObject *Sender, TTreeNode *Node, System::Boolean 
  588.     &AllowChange);
  589.  
  590. typedef void __fastcall (__closure *TTVChangedEvent)(System::TObject *Sender, TTreeNode *Node);
  591.  
  592. typedef void __fastcall (__closure *TTVCompareEvent)(System::TObject *Sender, TTreeNode *Node1, TTreeNode *
  593.     Node2, System::Integer Data, System::Integer &Compare);
  594.  
  595. enum THitTest { htAbove, htBelow, htNowhere, htOnItem, htOnButton, htOnIcon, htOnIndent, htOnLabel, 
  596.     htOnRight, htOnStateIcon, htToLeft, htToRight };
  597.  
  598. typedef Set<THitTest, htAbove, htToRight>  THitTests;
  599.  
  600. class __declspec(pascalimplementation) TCustomTreeView : public Controls::TWinControl
  601. {
  602.     typedef TCustomTreeView ThisClass;
  603.     typedef Controls::TWinControl inherited;
  604.     
  605. private:
  606.     System::Boolean FShowLines;
  607.     System::Boolean FShowRoot;
  608.     System::Boolean FShowButtons;
  609.     TFormBorderStyle FBorderStyle;
  610.     System::Boolean FReadOnly;
  611.     Controls::TImageList *FImages;
  612.     Controls::TImageList *FStateImages;
  613.     Controls::TChangeLink *FImageChangeLink;
  614.     Controls::TChangeLink *FStateChangeLink;
  615.     Controls::TImageList *FDragImage;
  616.     TTreeNodes *FTreeNodes;
  617.     TSortType FSortType;
  618.     Classes::TStringList *FSaveItems;
  619.     System::Integer FSaveTopIndex;
  620.     System::Integer FSaveIndex;
  621.     System::Integer FSaveIndent;
  622.     System::Boolean FHideSelection;
  623.     Classes::TMemoryStream *FMemStream;
  624.     void *FEditInstance;
  625.     void *FDefEditProc;
  626.     System::Integer FEditHandle;
  627.     System::Boolean FDragged;
  628.     System::Boolean FRClicked;
  629.     TTreeNode *FLastDropTarget;
  630.     TTreeNode *FDragNode;
  631.     TTVEditingEvent FOnEditing;
  632.     TTVEditedEvent FOnEdited;
  633.     TTVExpandedEvent FOnExpanded;
  634.     TTVExpandingEvent FOnExpanding;
  635.     TTVExpandedEvent FOnCollapsed;
  636.     TTVCollapsingEvent FOnCollapsing;
  637.     TTVChangingEvent FOnChanging;
  638.     TTVChangedEvent FOnChange;
  639.     TTVCompareEvent FOnCompare;
  640.     TTVExpandedEvent FOnDeletion;
  641.     TTVExpandedEvent FOnGetImageIndex;
  642.     TTVExpandedEvent FOnGetSelectedIndex;
  643.     MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
  644.     MESSAGE void __fastcall CMCtl3DChanged(Messages::TMessage &Message);
  645.     MESSAGE void __fastcall CMDrag(Controls::TCMDrag &Message);
  646.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  647.     void __fastcall EditWndProc(Messages::TMessage &Message);
  648.     void __fastcall DoDragOver(Controls::TDragObject *Source, System::Integer X, System::Integer Y);
  649.     void __fastcall GetImageIndex(TTreeNode *Node);
  650.     void __fastcall GetSelectedIndex(TTreeNode *Node);
  651.     TTreeNode *__fastcall GetDropTarget(void);
  652.     System::Integer __fastcall GetIndent(void);
  653.     TTreeNode *__fastcall GetNodeFromItem(const Commctrl::TTVItemA &Item);
  654.     TTreeNode *__fastcall GetSelection(void);
  655.     TTreeNode *__fastcall GetTopItem(void);
  656.     void __fastcall ImageListChange(System::TObject *Sender);
  657.     void __fastcall SetBorderStyle(Forms::TBorderStyle Value);
  658.     void __fastcall SetButtonStyle(System::Boolean Value);
  659.     void __fastcall SetDropTarget(TTreeNode *Value);
  660.     void __fastcall SetHideSelection(System::Boolean Value);
  661.     void __fastcall SetImageList(System::Integer Value, System::Integer Flags);
  662.     void __fastcall SetIndent(System::Integer Value);
  663.     void __fastcall SetImages(Controls::TImageList *Value);
  664.     void __fastcall SetLineStyle(System::Boolean Value);
  665.     void __fastcall SetReadOnly(System::Boolean Value);
  666.     void __fastcall SetRootStyle(System::Boolean Value);
  667.     void __fastcall SetSelection(TTreeNode *Value);
  668.     void __fastcall SetSortType(TSortType Value);
  669.     void __fastcall SetStateImages(Controls::TImageList *Value);
  670.     void __fastcall SetStyle(System::Integer Value, System::Boolean UseStyle);
  671.     void __fastcall SetTreeNodes(TTreeNodes *Value);
  672.     void __fastcall SetTopItem(TTreeNode *Value);
  673.     MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  674.     MESSAGE void __fastcall WMRButtonDown(Messages::TWMMouse &Message);
  675.     
  676. protected:
  677.     virtual System::Boolean __fastcall CanEdit(TTreeNode *Node);
  678.     virtual System::Boolean __fastcall CanChange(TTreeNode *Node);
  679.     virtual System::Boolean __fastcall CanCollapse(TTreeNode *Node);
  680.     virtual System::Boolean __fastcall CanExpand(TTreeNode *Node);
  681.     virtual void __fastcall Change(TTreeNode *Node);
  682.     virtual void __fastcall Collapse(TTreeNode *Node);
  683.     virtual TTreeNode *__fastcall CreateNode(void);
  684.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  685.     virtual void __fastcall CreateWnd(void);
  686.     virtual void __fastcall DestroyWnd(void);
  687.     virtual void __fastcall DoEndDrag(System::TObject *Target, System::Integer X, System::Integer Y);
  688.     virtual void __fastcall DoStartDrag(Controls::TDragObject *&DragObject);
  689.     virtual void __fastcall Edit(const Commctrl::TTVItemA &Item);
  690.     virtual void __fastcall Expand(TTreeNode *Node);
  691.     virtual Controls::TCustomImageList *__fastcall GetDragImages(void);
  692.     virtual void __fastcall Loaded(void);
  693.     virtual void __fastcall Notification(Classes::TComponent *AComponent, Classes::TOperation Operation
  694.         );
  695.     virtual void __fastcall SetDragMode(Controls::TDragMode Value);
  696.     virtual void __fastcall WndProc(Messages::TMessage &Message);
  697.     __property TTVEditingEvent OnEditing = {read=FOnEditing, write=FOnEditing};
  698.     __property TTVEditedEvent OnEdited = {read=FOnEdited, write=FOnEdited};
  699.     __property TTVExpandingEvent OnExpanding = {read=FOnExpanding, write=FOnExpanding};
  700.     __property TTVExpandedEvent OnExpanded = {read=FOnExpanded, write=FOnExpanded};
  701.     __property TTVCollapsingEvent OnCollapsing = {read=FOnCollapsing, write=FOnCollapsing};
  702.     __property TTVExpandedEvent OnCollapsed = {read=FOnCollapsed, write=FOnCollapsed};
  703.     __property TTVChangingEvent OnChanging = {read=FOnChanging, write=FOnChanging};
  704.     __property TTVChangedEvent OnChange = {read=FOnChange, write=FOnChange};
  705.     __property TTVCompareEvent OnCompare = {read=FOnCompare, write=FOnCompare};
  706.     __property TTVExpandedEvent OnDeletion = {read=FOnDeletion, write=FOnDeletion};
  707.     __property TTVExpandedEvent OnGetImageIndex = {read=FOnGetImageIndex, write=FOnGetImageIndex};
  708.     __property TTVExpandedEvent OnGetSelectedIndex = {read=FOnGetSelectedIndex, write=FOnGetSelectedIndex
  709.         };
  710.     __property System::Boolean ShowButtons = {read=FShowButtons, write=SetButtonStyle, default=1};
  711.     __property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, default=1};
  712.     __property System::Boolean ShowLines = {read=FShowLines, write=SetLineStyle, default=1};
  713.     __property System::Boolean ShowRoot = {read=FShowRoot, write=SetRootStyle, default=1};
  714.     __property System::Boolean ReadOnly = {read=FReadOnly, write=SetReadOnly, default=0};
  715.     __property System::Integer Indent = {read=GetIndent, write=SetIndent, nodefault};
  716.     __property TTreeNodes * Items = {read=FTreeNodes, write=SetTreeNodes, nodefault};
  717.     __property TSortType SortType = {read=FSortType, write=SetSortType, default=0};
  718.     __property System::Boolean HideSelection = {read=FHideSelection, write=SetHideSelection, default=1}
  719.         ;
  720.     __property Controls::TImageList * Images = {read=FImages, write=SetImages, nodefault};
  721.     __property Controls::TImageList * StateImages = {read=FStateImages, write=SetStateImages, nodefault
  722.         };
  723.     
  724. public:
  725.     __fastcall virtual TCustomTreeView(Classes::TComponent *AOwner);
  726.     __fastcall virtual ~TCustomTreeView(void);
  727.     System::Boolean __fastcall AlphaSort(void);
  728.     System::Boolean __fastcall CustomSort(Commctrl::TTVCompare SortProc, System::Longint Data);
  729.     void __fastcall FullCollapse(void);
  730.     void __fastcall FullExpand(void);
  731.     THitTests __fastcall GetHitTestInfoAt(System::Integer X, System::Integer Y);
  732.     TTreeNode *__fastcall GetNodeAt(System::Integer X, System::Integer Y);
  733.     System::Boolean __fastcall IsEditing(void);
  734.     void __fastcall LoadFromFile(const System::AnsiString FileName);
  735.     void __fastcall LoadFromStream(Classes::TStream *Stream);
  736.     void __fastcall SaveToFile(const System::AnsiString FileName);
  737.     void __fastcall SaveToStream(Classes::TStream *Stream);
  738.     __property TTreeNode * DropTarget = {read=GetDropTarget, write=SetDropTarget, nodefault};
  739.     __property TTreeNode * Selected = {read=GetSelection, write=SetSelection, nodefault};
  740.     __property TTreeNode * TopItem = {read=GetTopItem, write=SetTopItem, nodefault};
  741. };
  742.  
  743. class __declspec(pascalimplementation) TTreeNodes : public Classes::TPersistent
  744. {
  745.     typedef TTreeNodes ThisClass;
  746.     typedef Classes::TPersistent inherited;
  747.     
  748. private:
  749.     TCustomTreeView *FOwner;
  750.     System::Integer FUpdateCount;
  751.     void __fastcall AddedNode(TTreeNode *Value);
  752.     System::Integer __fastcall GetHandle(void);
  753.     TTreeNode *__fastcall GetNodeFromIndex(System::Integer Index);
  754.     void __fastcall ReadData(Classes::TStream *Stream);
  755.     void __fastcall Repaint(TTreeNode *Node);
  756.     void __fastcall WriteData(Classes::TStream *Stream);
  757.     
  758. protected:
  759.     Commctrl::HTreeItem __fastcall AddItem(Commctrl::HTreeItem Parent, Commctrl::HTreeItem Target, const 
  760.         Commctrl::TTVItemA &Item, TAddMode AddMode);
  761.     TTreeNode *__fastcall InternalAddObject(TTreeNode *Node, const System::AnsiString S, System::Pointer 
  762.         Ptr, TAddMode AddMode);
  763.     virtual void __fastcall DefineProperties(Classes::TFiler *Filer);
  764.     Commctrl::TTVItemA __fastcall CreateItem(TTreeNode *Node);
  765.     System::Integer __fastcall GetCount(void);
  766.     void __fastcall SetItem(System::Integer Index, TTreeNode *Value);
  767.     void __fastcall SetUpdateState(System::Boolean Updating);
  768.     
  769. public:
  770.     __fastcall TTreeNodes(TCustomTreeView *AOwner);
  771.     __fastcall virtual ~TTreeNodes(void);
  772.     TTreeNode *__fastcall AddChildFirst(TTreeNode *Node, const System::AnsiString S);
  773.     TTreeNode *__fastcall AddChild(TTreeNode *Node, const System::AnsiString S);
  774.     TTreeNode *__fastcall AddChildObjectFirst(TTreeNode *Node, const System::AnsiString S, System::Pointer 
  775.         Ptr);
  776.     TTreeNode *__fastcall AddChildObject(TTreeNode *Node, const System::AnsiString S, System::Pointer Ptr
  777.         );
  778.     TTreeNode *__fastcall AddFirst(TTreeNode *Node, const System::AnsiString S);
  779.     TTreeNode *__fastcall Add(TTreeNode *Node, const System::AnsiString S);
  780.     TTreeNode *__fastcall AddObjectFirst(TTreeNode *Node, const System::AnsiString S, System::Pointer Ptr
  781.         );
  782.     TTreeNode *__fastcall AddObject(TTreeNode *Node, const System::AnsiString S, System::Pointer Ptr);
  783.     virtual void __fastcall Assign(Classes::TPersistent *Source);
  784.     void __fastcall BeginUpdate(void);
  785.     void __fastcall Clear(void);
  786.     void __fastcall Delete(TTreeNode *Node);
  787.     void __fastcall EndUpdate(void);
  788.     TTreeNode *__fastcall GetFirstNode(void);
  789.     TTreeNode *__fastcall GetNode(Commctrl::HTreeItem ItemId);
  790.     TTreeNode *__fastcall Insert(TTreeNode *Node, const System::AnsiString S);
  791.     TTreeNode *__fastcall InsertObject(TTreeNode *Node, const System::AnsiString S, System::Pointer Ptr
  792.         );
  793.     __property System::Integer Count = {read=GetCount, nodefault};
  794.     __property System::Integer Handle = {read=GetHandle, nodefault};
  795.     __property TTreeNode * Item[System::Integer Index] = {read=GetNodeFromIndex/*, default*/};
  796.     __property TCustomTreeView * Owner = {read=FOwner, nodefault};
  797. };
  798.  
  799. class __declspec(pascalimplementation) TTreeNode : public Classes::TPersistent
  800. {
  801.     typedef TTreeNode ThisClass;
  802.     typedef Classes::TPersistent inherited;
  803.     
  804. private:
  805.     TTreeNodes *FOwner;
  806.     System::AnsiString FText;
  807.     void *FData;
  808.     Commctrl::_TreeItem *FItemId;
  809.     System::Integer FImageIndex;
  810.     System::Integer FSelectedIndex;
  811.     System::Integer FOverlayIndex;
  812.     System::Integer FStateIndex;
  813.     System::Boolean FDeleting;
  814.     void __fastcall ExpandItem(System::Boolean Expand, System::Boolean Recurse);
  815.     System::Integer __fastcall GetAbsoluteIndex(void);
  816.     System::Boolean __fastcall GetExpanded(void);
  817.     System::Integer __fastcall GetLevel(void);
  818.     TTreeNode *__fastcall GetParent(void);
  819.     System::Boolean __fastcall GetChildren(void);
  820.     System::Boolean __fastcall GetCut(void);
  821.     System::Boolean __fastcall GetDropTarget(void);
  822.     System::Boolean __fastcall GetFocused(void);
  823.     System::Integer __fastcall GetIndex(void);
  824.     TTreeNode *__fastcall GetItem(System::Integer Index);
  825.     System::Boolean __fastcall GetSelected(void);
  826.     System::Boolean __fastcall GetState(TNodeState NodeState);
  827.     System::Integer __fastcall GetCount(void);
  828.     TCustomTreeView *__fastcall GetTreeView(void);
  829.     System::Boolean __fastcall HasVisibleParent(void);
  830.     void __fastcall InternalMove(TTreeNode *ParentNode, TTreeNode *Node, Commctrl::HTreeItem HItem, TAddMode 
  831.         AddMode);
  832.     System::Boolean __fastcall IsEqual(TTreeNode *Node);
  833.     System::Boolean __fastcall IsNodeVisible(void);
  834.     void __fastcall ReadData(Classes::TStream *Stream, PNodeInfo Info);
  835.     void __fastcall SetChildren(System::Boolean Value);
  836.     void __fastcall SetCut(System::Boolean Value);
  837.     void __fastcall SetData(System::Pointer Value);
  838.     void __fastcall SetDropTarget(System::Boolean Value);
  839.     void __fastcall SetItem(System::Integer Index, TTreeNode *Value);
  840.     void __fastcall SetExpanded(System::Boolean Value);
  841.     void __fastcall SetFocused(System::Boolean Value);
  842.     void __fastcall SetImageIndex(System::Integer Value);
  843.     void __fastcall SetOverlayIndex(System::Integer Value);
  844.     void __fastcall SetSelectedIndex(System::Integer Value);
  845.     void __fastcall SetSelected(System::Boolean Value);
  846.     void __fastcall SetStateIndex(System::Integer Value);
  847.     void __fastcall SetText(const System::AnsiString S);
  848.     void __fastcall WriteData(Classes::TStream *Stream, PNodeInfo Info);
  849.     
  850. public:
  851.     __fastcall TTreeNode(TTreeNodes *AOwner);
  852.     __fastcall virtual ~TTreeNode(void);
  853.     System::Boolean __fastcall AlphaSort(void);
  854.     virtual void __fastcall Assign(Classes::TPersistent *Source);
  855.     void __fastcall Collapse(System::Boolean Recurse);
  856.     System::Boolean __fastcall CustomSort(Commctrl::TTVCompare SortProc, System::Longint Data);
  857.     void __fastcall Delete(void);
  858.     void __fastcall DeleteChildren(void);
  859.     Windows::TRect __fastcall DisplayRect(System::Boolean TextOnly);
  860.     System::Boolean __fastcall EditText(void);
  861.     void __fastcall EndEdit(System::Boolean Cancel);
  862.     void __fastcall Expand(System::Boolean Recurse);
  863.     TTreeNode *__fastcall GetFirstChild(void);
  864.     System::Integer __fastcall GetHandle(void);
  865.     TTreeNode *__fastcall GetLastChild(void);
  866.     TTreeNode *__fastcall GetNext(void);
  867.     TTreeNode *__fastcall GetNextChild(TTreeNode *Value);
  868.     TTreeNode *__fastcall GetNextSibling(void);
  869.     TTreeNode *__fastcall GetNextVisible(void);
  870.     TTreeNode *__fastcall GetPrev(void);
  871.     TTreeNode *__fastcall GetPrevChild(TTreeNode *Value);
  872.     TTreeNode *__fastcall GetPrevSibling(void);
  873.     TTreeNode *__fastcall GetPrevVisible(void);
  874.     System::Boolean __fastcall HasAsParent(TTreeNode *Value);
  875.     System::Integer __fastcall IndexOf(TTreeNode *Value);
  876.     void __fastcall MakeVisible(void);
  877.     void __fastcall MoveTo(TTreeNode *Destination, TNodeAttachMode Mode);
  878.     __property System::Integer AbsoluteIndex = {read=GetAbsoluteIndex, nodefault};
  879.     __property System::Integer Count = {read=GetCount, nodefault};
  880.     __property System::Boolean Cut = {read=GetCut, write=SetCut, nodefault};
  881.     __property System::Pointer Data = {read=FData, write=SetData, nodefault};
  882.     __property System::Boolean Deleting = {read=FDeleting, nodefault};
  883.     __property System::Boolean Focused = {read=GetFocused, write=SetFocused, nodefault};
  884.     __property System::Boolean DropTarget = {read=GetDropTarget, write=SetDropTarget, nodefault};
  885.     __property System::Boolean Selected = {read=GetSelected, write=SetSelected, nodefault};
  886.     __property System::Boolean Expanded = {read=GetExpanded, write=SetExpanded, nodefault};
  887.     __property System::Integer Handle = {read=GetHandle, nodefault};
  888.     __property System::Boolean HasChildren = {read=GetChildren, write=SetChildren, nodefault};
  889.     __property System::Integer ImageIndex = {read=FImageIndex, write=SetImageIndex, nodefault};
  890.     __property System::Integer Index = {read=GetIndex, nodefault};
  891.     __property System::Boolean IsVisible = {read=IsNodeVisible, nodefault};
  892.     __property TTreeNode * Item[System::Integer Index] = {read=GetItem, write=SetItem/*, default*/};
  893.     __property Commctrl::HTreeItem ItemId = {read=FItemId, nodefault};
  894.     __property System::Integer Level = {read=GetLevel, nodefault};
  895.     __property System::Integer OverlayIndex = {read=FOverlayIndex, write=SetOverlayIndex, nodefault};
  896.     __property TTreeNodes * Owner = {read=FOwner, nodefault};
  897.     __property TTreeNode * Parent = {read=GetParent, nodefault};
  898.     __property System::Integer SelectedIndex = {read=FSelectedIndex, write=SetSelectedIndex, nodefault}
  899.         ;
  900.     __property System::Integer StateIndex = {read=FStateIndex, write=SetStateIndex, nodefault};
  901.     __property System::AnsiString Text = {read=FText, write=SetText, nodefault};
  902.     __property TCustomTreeView * TreeView = {read=GetTreeView, nodefault};
  903. };
  904.  
  905. class __declspec(delphiclass) ETreeViewError;
  906. class __declspec(pascalimplementation) ETreeViewError : public Sysutils::Exception
  907. {
  908.     typedef ETreeViewError ThisClass;
  909.     typedef Sysutils::Exception inherited;
  910.     
  911. public:
  912.     /* !! Exception.Create */ __fastcall ETreeViewError(const System::AnsiString Msg) : Sysutils::Exception(
  913.         Msg) { }
  914.     /* !! Exception.CreateFmt */ __fastcall ETreeViewError(const System::AnsiString Msg, const TVarRec 
  915.         *Args, const System::Integer Args_Size) : Sysutils::Exception(Msg, Args, Args_Size) { }
  916.     /* !! Exception.CreateRes */ __fastcall ETreeViewError(System::Integer Ident) : Sysutils::Exception(
  917.         Ident) { }
  918.     /* !! Exception.CreateResFmt */ __fastcall ETreeViewError(System::Integer Ident, const TVarRec *Args
  919.         , const System::Integer Args_Size) : Sysutils::Exception(Ident, Args, Args_Size) { }
  920.     /* !! Exception.CreateHelp */ __fastcall ETreeViewError(const System::AnsiString Msg, System::Integer 
  921.         AHelpContext) : Sysutils::Exception(Msg, AHelpContext) { }
  922.     /* !! Exception.CreateFmtHelp */ __fastcall ETreeViewError(const System::AnsiString Msg, const TVarRec 
  923.         *Args, const System::Integer Args_Size, System::Integer AHelpContext) : Sysutils::Exception(Msg, Args
  924.         , Args_Size, AHelpContext) { }
  925.     /* !! Exception.CreateResHelp */ __fastcall ETreeViewError(System::Integer Ident, System::Integer AHelpContext
  926.         ) : Sysutils::Exception(Ident, AHelpContext) { }
  927.     /* !! Exception.CreateResFmtHelp */ __fastcall ETreeViewError(System::Integer Ident, const TVarRec 
  928.         *Args, const System::Integer Args_Size, System::Integer AHelpContext) : Sysutils::Exception(Ident, 
  929.         Args, Args_Size, AHelpContext) { }
  930.     
  931. public:
  932.     /* !! TObject.Destroy */ __fastcall virtual ~ETreeViewError(void) { }
  933.     
  934. };
  935.  
  936. class __declspec(delphiclass) TTreeView;
  937. class __declspec(pascalimplementation) TTreeView : public TCustomTreeView
  938. {
  939.     typedef TTreeView ThisClass;
  940.     typedef TCustomTreeView inherited;
  941.     
  942. __published:
  943.     __property ShowButtons ;
  944.     __property BorderStyle ;
  945.     __property DragCursor ;
  946.     __property ShowLines ;
  947.     __property ShowRoot ;
  948.     __property ReadOnly ;
  949.     __property DragMode ;
  950.     __property HideSelection ;
  951.     __property Indent ;
  952.     __property Items ;
  953.     __property OnEditing ;
  954.     __property OnEdited ;
  955.     __property OnExpanding ;
  956.     __property OnExpanded ;
  957.     __property OnCollapsing ;
  958.     __property OnCompare ;
  959.     __property OnCollapsed ;
  960.     __property OnChanging ;
  961.     __property OnChange ;
  962.     __property OnDeletion ;
  963.     __property OnGetImageIndex ;
  964.     __property OnGetSelectedIndex ;
  965.     __property Align ;
  966.     __property Enabled ;
  967.     __property Font ;
  968.     __property Color ;
  969.     __property ParentColor ;
  970.     __property ParentCtl3D ;
  971.     __property Ctl3D ;
  972.     __property SortType ;
  973.     __property TabOrder ;
  974.     __property TabStop ;
  975.     __property Visible ;
  976.     __property OnClick ;
  977.     __property OnEnter ;
  978.     __property OnExit ;
  979.     __property OnDragDrop ;
  980.     __property OnDragOver ;
  981.     __property OnStartDrag ;
  982.     __property OnEndDrag ;
  983.     __property OnMouseDown ;
  984.     __property OnMouseMove ;
  985.     __property OnMouseUp ;
  986.     __property OnDblClick ;
  987.     __property OnKeyDown ;
  988.     __property OnKeyPress ;
  989.     __property OnKeyUp ;
  990.     __property PopupMenu ;
  991.     __property ParentFont ;
  992.     __property ParentShowHint ;
  993.     __property ShowHint ;
  994.     __property Images ;
  995.     __property StateImages ;
  996. public:
  997.     /* !! TCustomTreeView.Create */ __fastcall virtual TTreeView(Classes::TComponent *AOwner) : Comctrls::TCustomTreeView(
  998.         AOwner) { }
  999.     /* !! TCustomTreeView.Destroy */ __fastcall virtual ~TTreeView(void) { }
  1000.     
  1001. };
  1002.  
  1003. enum TTrackBarOrientation { trHorizontal, trVertical };
  1004.  
  1005. enum TTickMark { tmBottomRight, tmTopLeft, tmBoth };
  1006.  
  1007. enum TTickStyle { tsNone, tsAuto, tsManual };
  1008.  
  1009. class __declspec(delphiclass) TTrackBar;
  1010. class __declspec(pascalimplementation) TTrackBar : public Controls::TWinControl
  1011. {
  1012.     typedef TTrackBar ThisClass;
  1013.     typedef Controls::TWinControl inherited;
  1014.     
  1015. private:
  1016.     TTrackBarOrientation FOrientation;
  1017.     TTickMark FTickMarks;
  1018.     TTickStyle FTickStyle;
  1019.     System::Integer FLineSize;
  1020.     System::Integer FPageSize;
  1021.     System::Integer FMin;
  1022.     System::Integer FMax;
  1023.     System::Integer FFrequency;
  1024.     System::Integer FPosition;
  1025.     System::Integer FSelStart;
  1026.     System::Integer FSelEnd;
  1027.     Classes::TNotifyEvent FOnChange;
  1028.     void __fastcall SetOrientation(TTrackBarOrientation Value);
  1029.     void __fastcall SetParams(System::Integer APosition, System::Integer AMin, System::Integer AMax);
  1030.     void __fastcall SetPosition(System::Integer Value);
  1031.     void __fastcall SetMin(System::Integer Value);
  1032.     void __fastcall SetMax(System::Integer Value);
  1033.     void __fastcall SetFrequency(System::Integer Value);
  1034.     void __fastcall SetTickStyle(TTickStyle Value);
  1035.     void __fastcall SetTickMarks(TTickMark Value);
  1036.     void __fastcall SetLineSize(System::Integer Value);
  1037.     void __fastcall SetPageSize(System::Integer Value);
  1038.     void __fastcall SetSelStart(System::Integer Value);
  1039.     void __fastcall SetSelEnd(System::Integer Value);
  1040.     void __fastcall UpdateSelection(void);
  1041.     MESSAGE void __fastcall CNHScroll(Messages::TWMScroll &Message);
  1042.     MESSAGE void __fastcall CNVScroll(Messages::TWMScroll &Message);
  1043.     
  1044. protected:
  1045.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1046.     virtual void __fastcall CreateWnd(void);
  1047.     virtual void __fastcall DestroyWnd(void);
  1048.     
  1049. public:
  1050.     __fastcall virtual TTrackBar(Classes::TComponent *AOwner);
  1051.     void __fastcall SetTick(System::Integer Value);
  1052.     
  1053. __published:
  1054.     __property Ctl3D ;
  1055.     __property DragCursor ;
  1056.     __property DragMode ;
  1057.     __property Enabled ;
  1058.     __property System::Integer LineSize = {read=FLineSize, write=SetLineSize, default=1};
  1059.     __property System::Integer Max = {read=FMax, write=SetMax, default=10};
  1060.     __property System::Integer Min = {read=FMin, write=SetMin, default=0};
  1061.     __property TTrackBarOrientation Orientation = {read=FOrientation, write=SetOrientation, nodefault};
  1062.         
  1063.     __property ParentCtl3D ;
  1064.     __property ParentShowHint ;
  1065.     __property System::Integer PageSize = {read=FPageSize, write=SetPageSize, default=2};
  1066.     __property PopupMenu ;
  1067.     __property System::Integer Frequency = {read=FFrequency, write=SetFrequency, nodefault};
  1068.     __property System::Integer Position = {read=FPosition, write=SetPosition, nodefault};
  1069.     __property System::Integer SelEnd = {read=FSelEnd, write=SetSelEnd, nodefault};
  1070.     __property System::Integer SelStart = {read=FSelStart, write=SetSelStart, nodefault};
  1071.     __property ShowHint ;
  1072.     __property TabOrder ;
  1073.     __property TabStop ;
  1074.     __property TTickMark TickMarks = {read=FTickMarks, write=SetTickMarks, nodefault};
  1075.     __property TTickStyle TickStyle = {read=FTickStyle, write=SetTickStyle, nodefault};
  1076.     __property Visible ;
  1077.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  1078.     __property OnDragDrop ;
  1079.     __property OnDragOver ;
  1080.     __property OnEndDrag ;
  1081.     __property OnEnter ;
  1082.     __property OnExit ;
  1083.     __property OnKeyDown ;
  1084.     __property OnKeyPress ;
  1085.     __property OnKeyUp ;
  1086.     __property OnStartDrag ;
  1087. public:
  1088.     /* !! TWinControl.Destroy */ __fastcall virtual ~TTrackBar(void) { }
  1089.     
  1090. };
  1091.  
  1092. typedef System::Word TProgressRange;
  1093.  
  1094. class __declspec(delphiclass) TProgressBar;
  1095. class __declspec(pascalimplementation) TProgressBar : public Controls::TWinControl
  1096. {
  1097.     typedef TProgressBar ThisClass;
  1098.     typedef Controls::TWinControl inherited;
  1099.     
  1100. private:
  1101.     TProgressRange FMin;
  1102.     TProgressRange FMax;
  1103.     TProgressRange FStep;
  1104.     TProgressRange FPosition;
  1105.     TProgressRange __fastcall GetPosition(void);
  1106.     void __fastcall SetParams(TProgressRange AMin, TProgressRange AMax);
  1107.     void __fastcall SetMin(TProgressRange Value);
  1108.     void __fastcall SetMax(TProgressRange Value);
  1109.     void __fastcall SetPosition(TProgressRange Value);
  1110.     void __fastcall SetStep(TProgressRange Value);
  1111.     
  1112. protected:
  1113.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1114.     virtual void __fastcall CreateWnd(void);
  1115.     
  1116. public:
  1117.     __fastcall virtual TProgressBar(Classes::TComponent *AOwner);
  1118.     void __fastcall StepIt(void);
  1119.     void __fastcall StepBy(TProgressRange Delta);
  1120.     
  1121. __published:
  1122.     __property Align ;
  1123.     __property Enabled ;
  1124.     __property Hint ;
  1125.     __property TProgressRange Min = {read=FMin, write=SetMin, nodefault};
  1126.     __property TProgressRange Max = {read=FMax, write=SetMax, nodefault};
  1127.     __property ParentShowHint ;
  1128.     __property PopupMenu ;
  1129.     __property TProgressRange Position = {read=GetPosition, write=SetPosition, default=0};
  1130.     __property TProgressRange Step = {read=FStep, write=SetStep, default=10};
  1131.     __property ShowHint ;
  1132.     __property TabOrder ;
  1133.     __property TabStop ;
  1134.     __property Visible ;
  1135.     __property OnDragDrop ;
  1136.     __property OnDragOver ;
  1137.     __property OnEndDrag ;
  1138.     __property OnEnter ;
  1139.     __property OnExit ;
  1140.     __property OnMouseDown ;
  1141.     __property OnMouseMove ;
  1142.     __property OnMouseUp ;
  1143.     __property OnStartDrag ;
  1144. public:
  1145.     /* !! TWinControl.Destroy */ __fastcall virtual ~TProgressBar(void) { }
  1146.     
  1147. };
  1148.  
  1149. enum TAttributeType { atSelected, atDefaultText };
  1150.  
  1151. enum TConsistentAttribute { caBold, caColor, caFace, caItalic, caSize, caStrikeOut, caUnderline, caProtected 
  1152.     };
  1153.  
  1154. typedef Set<TConsistentAttribute, caBold, caProtected>  TConsistentAttributes;
  1155.  
  1156. class __declspec(delphiclass) TTextAttributes;
  1157. class __declspec(delphiclass) TCustomRichEdit;
  1158. class __declspec(delphiclass) TParaAttributes;
  1159. enum TNumberingStyle { nsNone, nsBullet };
  1160.  
  1161. class __declspec(pascalimplementation) TParaAttributes : public Classes::TPersistent
  1162. {
  1163.     typedef TParaAttributes ThisClass;
  1164.     typedef Classes::TPersistent inherited;
  1165.     
  1166. private:
  1167.     TCustomRichEdit *RichEdit;
  1168.     void __fastcall GetAttributes(Richedit::TParaFormat &Paragraph);
  1169.     Classes::TAlignment __fastcall GetAlignment(void);
  1170.     System::Longint __fastcall GetFirstIndent(void);
  1171.     System::Longint __fastcall GetLeftIndent(void);
  1172.     System::Longint __fastcall GetRightIndent(void);
  1173.     TNumberingStyle __fastcall GetNumbering(void);
  1174.     System::Longint __fastcall GetTab(System::Byte Index);
  1175.     System::Integer __fastcall GetTabCount(void);
  1176.     void __fastcall InitPara(Richedit::TParaFormat &Paragraph);
  1177.     void __fastcall SetAlignment(Classes::TAlignment Value);
  1178.     void __fastcall SetAttributes(Richedit::TParaFormat &Paragraph);
  1179.     void __fastcall SetFirstIndent(System::Longint Value);
  1180.     void __fastcall SetLeftIndent(System::Longint Value);
  1181.     void __fastcall SetRightIndent(System::Longint Value);
  1182.     void __fastcall SetNumbering(TNumberingStyle Value);
  1183.     void __fastcall SetTab(System::Byte Index, System::Longint Value);
  1184.     void __fastcall SetTabCount(System::Integer Value);
  1185.     
  1186. public:
  1187.     __fastcall TParaAttributes(TCustomRichEdit *AOwner);
  1188.     virtual void __fastcall Assign(Classes::TPersistent *Source);
  1189.     __property Classes::TAlignment Alignment = {read=GetAlignment, write=SetAlignment, nodefault};
  1190.     __property System::Longint FirstIndent = {read=GetFirstIndent, write=SetFirstIndent, nodefault};
  1191.     __property System::Longint LeftIndent = {read=GetLeftIndent, write=SetLeftIndent, nodefault};
  1192.     __property TNumberingStyle Numbering = {read=GetNumbering, write=SetNumbering, nodefault};
  1193.     __property System::Longint RightIndent = {read=GetRightIndent, write=SetRightIndent, nodefault};
  1194.     __property System::Longint Tab[System::Byte Index] = {read=GetTab, write=SetTab};
  1195.     __property System::Integer TabCount = {read=GetTabCount, write=SetTabCount, nodefault};
  1196. public:
  1197.     /* !! TObject.Destroy */ __fastcall virtual ~TParaAttributes(void) { }
  1198.     
  1199. };
  1200.  
  1201. typedef System::TMetaClass *TConversionClass;
  1202.  
  1203. typedef void __fastcall (__closure *TRichEditResizeEvent)(System::TObject *Sender, const Windows::TRect 
  1204.     &Rect);
  1205.  
  1206. typedef void __fastcall (__closure *TRichEditProtectChange)(System::TObject *Sender, System::Integer 
  1207.     StartPos, System::Integer EndPos, System::Boolean &AllowChange);
  1208.  
  1209. typedef void __fastcall (__closure *TRichEditSaveClipboard)(System::TObject *Sender, System::Integer 
  1210.     NumObjects, System::Integer NumChars, System::Boolean &SaveClipboard);
  1211.  
  1212. enum TSearchType { stWholeWord, stMatchCase };
  1213.  
  1214. typedef Set<TSearchType, stWholeWord, stMatchCase>  TSearchTypes;
  1215.  
  1216. class __declspec(pascalimplementation) TCustomRichEdit : public Stdctrls::TCustomMemo
  1217. {
  1218.     typedef TCustomRichEdit ThisClass;
  1219.     typedef Stdctrls::TCustomMemo inherited;
  1220.     
  1221. private:
  1222.     System::Integer FLibHandle;
  1223.     System::Boolean FHideScrollBars;
  1224.     TTextAttributes *FSelAttributes;
  1225.     TTextAttributes *FDefAttributes;
  1226.     TParaAttributes *FParagraph;
  1227.     System::Integer FScreenLogPixels;
  1228.     Classes::TStrings *FRichEditStrings;
  1229.     Classes::TMemoryStream *FMemStream;
  1230.     Classes::TNotifyEvent FOnSelChange;
  1231.     System::Boolean FHideSelection;
  1232.     System::Boolean FModified;
  1233.     System::TMetaClass *FDefaultConverter;
  1234.     TRichEditResizeEvent FOnResizeRequest;
  1235.     TRichEditProtectChange FOnProtectChange;
  1236.     TRichEditSaveClipboard FOnSaveClipboard;
  1237.     Windows::TRect FPageRect;
  1238.     MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
  1239.     MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  1240.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  1241.     System::Boolean __fastcall GetPlainText(void);
  1242.     System::Boolean __fastcall ProtectChange(System::Integer StartPos, System::Integer EndPos);
  1243.     System::Boolean __fastcall SaveClipboard(System::Integer NumObj, System::Integer NumChars);
  1244.     void __fastcall SetHideScrollBars(System::Boolean Value);
  1245.     void __fastcall SetHideSelection(System::Boolean Value);
  1246.     void __fastcall SetPlainText(System::Boolean Value);
  1247.     void __fastcall SetRichEditStrings(Classes::TStrings *Value);
  1248.     void __fastcall SetDefAttributes(TTextAttributes *Value);
  1249.     void __fastcall SetSelAttributes(TTextAttributes *Value);
  1250.     MESSAGE void __fastcall WMNCDestroy(Messages::TWMNoParams &Message);
  1251.     MESSAGE void __fastcall WMSetCursor(Messages::TWMSetCursor &Message);
  1252.     MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  1253.     MESSAGE void __fastcall WMSetFont(Messages::TWMSetFont &Message);
  1254.     
  1255. protected:
  1256.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1257.     virtual void __fastcall CreateWnd(void);
  1258.     virtual void __fastcall DestroyWnd(void);
  1259.     virtual void __fastcall RequestSize(const Windows::TRect &Rect);
  1260.     virtual void __fastcall SelectionChange(void);
  1261.     __property System::Boolean HideSelection = {read=FHideSelection, write=SetHideSelection, default=1}
  1262.         ;
  1263.     __property System::Boolean HideScrollBars = {read=FHideScrollBars, write=SetHideScrollBars, default=1
  1264.         };
  1265.     __property Classes::TStrings * Lines = {read=FRichEditStrings, write=SetRichEditStrings, nodefault}
  1266.         ;
  1267.     __property TRichEditSaveClipboard OnSaveClipboard = {read=FOnSaveClipboard, write=FOnSaveClipboard}
  1268.         ;
  1269.     __property Classes::TNotifyEvent OnSelectionChange = {read=FOnSelChange, write=FOnSelChange};
  1270.     __property TRichEditProtectChange OnProtectChange = {read=FOnProtectChange, write=FOnProtectChange}
  1271.         ;
  1272.     __property TRichEditResizeEvent OnResizeRequest = {read=FOnResizeRequest, write=FOnResizeRequest};
  1273.     __property System::Boolean PlainText = {read=GetPlainText, write=SetPlainText, default=0};
  1274.     
  1275. public:
  1276.     __fastcall virtual TCustomRichEdit(Classes::TComponent *AOwner);
  1277.     __fastcall virtual ~TCustomRichEdit(void);
  1278.     System::Integer __fastcall FindText(const System::AnsiString SearchStr, System::Integer StartPos, System::Integer 
  1279.         Length,  TSearchTypes Options);
  1280.     void __fastcall Print(const System::AnsiString Caption);
  1281.     static /* class method */ void __fastcall RegisterConversionFormat(const System::TMetaClass * const vmt, 
  1282.         const System::AnsiString AExtension, System::TMetaClass * AConversionClass);
  1283.     __property System::TMetaClass * DefaultConverter = {read=FDefaultConverter, write=FDefaultConverter
  1284.         , nodefault};
  1285.     __property TTextAttributes * DefAttributes = {read=FDefAttributes, write=SetDefAttributes, nodefault
  1286.         };
  1287.     __property TTextAttributes * SelAttributes = {read=FSelAttributes, write=SetSelAttributes, nodefault
  1288.         };
  1289.     __property Windows::TRect PageRect = {read=FPageRect, write=FPageRect};
  1290.     __property TParaAttributes * Paragraph = {read=FParagraph, nodefault};
  1291. };
  1292.  
  1293. class __declspec(pascalimplementation) TTextAttributes : public Classes::TPersistent
  1294. {
  1295.     typedef TTextAttributes ThisClass;
  1296.     typedef Classes::TPersistent inherited;
  1297.     
  1298. private:
  1299.     TCustomRichEdit *RichEdit;
  1300.     TAttributeType FType;
  1301.     void __fastcall GetAttributes(Richedit::TCharFormat &Format);
  1302.     Graphics::TColor __fastcall GetColor(void);
  1303.     TConsistentAttributes __fastcall GetConsistentAttributes(void);
  1304.     System::Integer __fastcall GetHeight(void);
  1305.     Graphics::TFontName __fastcall GetName(void);
  1306.     Graphics::TFontPitch __fastcall GetPitch(void);
  1307.     System::Boolean __fastcall GetProtected(void);
  1308.     System::Integer __fastcall GetSize(void);
  1309.     Graphics::TFontStyles __fastcall GetStyle(void);
  1310.     void __fastcall SetAttributes(Richedit::TCharFormat &Format);
  1311.     void __fastcall SetColor(Graphics::TColor Value);
  1312.     void __fastcall SetHeight(System::Integer Value);
  1313.     void __fastcall SetName( Graphics::TFontName &Value);
  1314.     void __fastcall SetPitch(Graphics::TFontPitch Value);
  1315.     void __fastcall SetProtected(System::Boolean Value);
  1316.     void __fastcall SetSize(System::Integer Value);
  1317.     void __fastcall SetStyle( Graphics::TFontStyles Value);
  1318.     
  1319. protected:
  1320.     void __fastcall InitFormat(Richedit::TCharFormat &Format);
  1321.     virtual void __fastcall AssignTo(Classes::TPersistent *Dest);
  1322.     
  1323. public:
  1324.     __fastcall TTextAttributes(TCustomRichEdit *AOwner, TAttributeType AttributeType);
  1325.     virtual void __fastcall Assign(Classes::TPersistent *Source);
  1326.     __property Graphics::TColor Color = {read=GetColor, write=SetColor, nodefault};
  1327.     __property TConsistentAttributes ConsistentAttributes = {read=GetConsistentAttributes, nodefault};
  1328.     __property Graphics::TFontName Name = {read=GetName, write=SetName};
  1329.     __property Graphics::TFontPitch Pitch = {read=GetPitch, write=SetPitch, nodefault};
  1330.     __property System::Boolean Protected = {read=GetProtected, write=SetProtected, nodefault};
  1331.     __property System::Integer Size = {read=GetSize, write=SetSize, nodefault};
  1332.     __property Graphics::TFontStyles Style = {read=GetStyle, write=SetStyle, nodefault};
  1333.     __property System::Integer Height = {read=GetHeight, write=SetHeight, nodefault};
  1334. public:
  1335.     /* !! TObject.Destroy */ __fastcall virtual ~TTextAttributes(void) { }
  1336.     
  1337. };
  1338.  
  1339. class __declspec(delphiclass) TConversion;
  1340. class __declspec(pascalimplementation) TConversion : public System::TObject
  1341. {
  1342.     typedef TConversion ThisClass;
  1343.     typedef System::TObject inherited;
  1344.     
  1345. public:
  1346.     virtual System::Integer __fastcall ConvertReadStream(Classes::TStream *Stream, System::PChar Buffer
  1347.         , System::Integer BufSize);
  1348.     virtual System::Integer __fastcall ConvertWriteStream(Classes::TStream *Stream, System::PChar Buffer
  1349.         , System::Integer BufSize);
  1350. public:
  1351.     /* !! TObject.Create */ __fastcall TConversion(void) : System::TObject() { }
  1352.     /* !! TObject.Destroy */ __fastcall virtual ~TConversion(void) { }
  1353.     
  1354. };
  1355.  
  1356. struct TConversionFormat;
  1357. typedef TConversionFormat *PConversionFormat;
  1358.  
  1359. struct TConversionFormat
  1360. {
  1361.     System::TMetaClass *ConversionClass;
  1362.     System::AnsiString Extension;
  1363.     TConversionFormat *Next;
  1364. } ;
  1365.  
  1366. struct TRichEditStreamInfo
  1367. {
  1368.     TConversion *Converter;
  1369.     Classes::TStream *Stream;
  1370. } ;
  1371.  
  1372. typedef TRichEditStreamInfo *PRichEditStreamInfo;
  1373.  
  1374. class __declspec(delphiclass) TRichEdit;
  1375. class __declspec(pascalimplementation) TRichEdit : public TCustomRichEdit
  1376. {
  1377.     typedef TRichEdit ThisClass;
  1378.     typedef TCustomRichEdit inherited;
  1379.     
  1380. __published:
  1381.     __property Align ;
  1382.     __property Alignment ;
  1383.     __property BorderStyle ;
  1384.     __property Color ;
  1385.     __property Ctl3D ;
  1386.     __property DragMode ;
  1387.     __property Enabled ;
  1388.     __property Font ;
  1389.     __property HideSelection ;
  1390.     __property HideScrollBars ;
  1391.     __property Lines ;
  1392.     __property MaxLength ;
  1393.     __property ParentColor ;
  1394.     __property ParentCtl3D ;
  1395.     __property ParentFont ;
  1396.     __property PlainText ;
  1397.     __property PopupMenu ;
  1398.     __property ReadOnly ;
  1399.     __property ScrollBars ;
  1400.     __property ShowHint ;
  1401.     __property TabOrder ;
  1402.     __property TabStop ;
  1403.     __property Visible ;
  1404.     __property WantTabs ;
  1405.     __property WantReturns ;
  1406.     __property WordWrap ;
  1407.     __property OnChange ;
  1408.     __property OnDragDrop ;
  1409.     __property OnDragOver ;
  1410.     __property OnEndDrag ;
  1411.     __property OnEnter ;
  1412.     __property OnExit ;
  1413.     __property OnKeyDown ;
  1414.     __property OnKeyPress ;
  1415.     __property OnKeyUp ;
  1416.     __property OnMouseDown ;
  1417.     __property OnMouseMove ;
  1418.     __property OnMouseUp ;
  1419.     __property OnResizeRequest ;
  1420.     __property OnSelectionChange ;
  1421.     __property OnStartDrag ;
  1422.     __property OnProtectChange ;
  1423.     __property OnSaveClipboard ;
  1424. public:
  1425.     /* !! TCustomRichEdit.Create */ __fastcall virtual TRichEdit(Classes::TComponent *AOwner) : Comctrls::TCustomRichEdit(
  1426.         AOwner) { }
  1427.     /* !! TCustomRichEdit.Destroy */ __fastcall virtual ~TRichEdit(void) { }
  1428.     
  1429. };
  1430.  
  1431. enum TUDAlignButton { udLeft, udRight };
  1432.  
  1433. enum TUDOrientation { udHorizontal, udVertical };
  1434.  
  1435. enum TUDBtnType { btNext, btPrev };
  1436.  
  1437. typedef void __fastcall (__closure *TUDClickEvent)(System::TObject *Sender, TUDBtnType Button);
  1438.  
  1439. typedef void __fastcall (__closure *TUDChangingEvent)(System::TObject *Sender, System::Boolean &AllowChange
  1440.     );
  1441.  
  1442. class __declspec(delphiclass) TCustomUpDown;
  1443. class __declspec(pascalimplementation) TCustomUpDown : public Controls::TWinControl
  1444. {
  1445.     typedef TCustomUpDown ThisClass;
  1446.     typedef Controls::TWinControl inherited;
  1447.     
  1448. private:
  1449.     System::Boolean FArrowKeys;
  1450.     Controls::TWinControl *FAssociate;
  1451.     System::Smallint FMin;
  1452.     System::Smallint FMax;
  1453.     System::Integer FIncrement;
  1454.     System::Smallint FPosition;
  1455.     System::Boolean FThousands;
  1456.     System::Boolean FWrap;
  1457.     TUDClickEvent FOnClick;
  1458.     TUDAlignButton FAlignButton;
  1459.     TUDOrientation FOrientation;
  1460.     TUDChangingEvent FOnChanging;
  1461.     void __fastcall UndoAutoResizing(Controls::TWinControl *Value);
  1462.     void __fastcall SetAssociate(Controls::TWinControl *Value);
  1463.     System::Smallint __fastcall GetPosition(void);
  1464.     void __fastcall SetMin(System::Smallint Value);
  1465.     void __fastcall SetMax(System::Smallint Value);
  1466.     void __fastcall SetIncrement(System::Integer Value);
  1467.     void __fastcall SetPosition(System::Smallint Value);
  1468.     void __fastcall SetAlignButton(TUDAlignButton Value);
  1469.     void __fastcall SetOrientation(TUDOrientation Value);
  1470.     void __fastcall SetArrowKeys(System::Boolean Value);
  1471.     void __fastcall SetThousands(System::Boolean Value);
  1472.     void __fastcall SetWrap(System::Boolean Value);
  1473.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  1474.     MESSAGE void __fastcall WMHScroll(Messages::TWMScroll &Message);
  1475.     MESSAGE void __fastcall WMVScroll(Messages::TWMScroll &Message);
  1476.     
  1477. protected:
  1478.     System::Boolean __fastcall CanChange(void);
  1479.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1480.     virtual void __fastcall CreateWnd(void);
  1481.     virtual void __fastcall Notification(Classes::TComponent *AComponent, Classes::TOperation Operation
  1482.         );
  1483.     virtual void __fastcall Click(TUDBtnType Button);
  1484.     __property TUDAlignButton AlignButton = {read=FAlignButton, write=SetAlignButton, default=1};
  1485.     __property System::Boolean ArrowKeys = {read=FArrowKeys, write=SetArrowKeys, default=1};
  1486.     __property Controls::TWinControl * Associate = {read=FAssociate, write=SetAssociate, nodefault};
  1487.     __property System::Smallint Min = {read=FMin, write=SetMin, nodefault};
  1488.     __property System::Smallint Max = {read=FMax, write=SetMax, default=100};
  1489.     __property System::Integer Increment = {read=FIncrement, write=SetIncrement, default=1};
  1490.     __property TUDOrientation Orientation = {read=FOrientation, write=SetOrientation, default=1};
  1491.     __property System::Smallint Position = {read=GetPosition, write=SetPosition, nodefault};
  1492.     __property System::Boolean Thousands = {read=FThousands, write=SetThousands, default=1};
  1493.     __property System::Boolean Wrap = {read=FWrap, write=SetWrap, nodefault};
  1494.     __property TUDChangingEvent OnChanging = {read=FOnChanging, write=FOnChanging};
  1495.     __property TUDClickEvent OnClick = {read=FOnClick, write=FOnClick};
  1496.     
  1497. public:
  1498.     __fastcall virtual TCustomUpDown(Classes::TComponent *AOwner);
  1499. public:
  1500.     /* !! TWinControl.Destroy */ __fastcall virtual ~TCustomUpDown(void) { }
  1501.     
  1502. };
  1503.  
  1504. class __declspec(delphiclass) TUpDown;
  1505. class __declspec(pascalimplementation) TUpDown : public TCustomUpDown
  1506. {
  1507.     typedef TUpDown ThisClass;
  1508.     typedef TCustomUpDown inherited;
  1509.     
  1510. __published:
  1511.     __property AlignButton ;
  1512.     __property Associate ;
  1513.     __property ArrowKeys ;
  1514.     __property Enabled ;
  1515.     __property Hint ;
  1516.     __property Min ;
  1517.     __property Max ;
  1518.     __property Increment ;
  1519.     __property Orientation ;
  1520.     __property ParentShowHint ;
  1521.     __property PopupMenu ;
  1522.     __property Position ;
  1523.     __property ShowHint ;
  1524.     __property TabOrder ;
  1525.     __property TabStop ;
  1526.     __property Thousands ;
  1527.     __property Visible ;
  1528.     __property Wrap ;
  1529.     __property OnChanging ;
  1530.     __property OnClick ;
  1531.     __property OnEnter ;
  1532.     __property OnExit ;
  1533.     __property OnMouseDown ;
  1534.     __property OnMouseMove ;
  1535.     __property OnMouseUp ;
  1536. public:
  1537.     /* !! TCustomUpDown.Create */ __fastcall virtual TUpDown(Classes::TComponent *AOwner) : Comctrls::TCustomUpDown(
  1538.         AOwner) { }
  1539.     
  1540. public:
  1541.     /* !! TWinControl.Destroy */ __fastcall virtual ~TUpDown(void) { }
  1542.     
  1543. };
  1544.  
  1545. enum THKModifier { hkShift, hkCtrl, hkAlt, hkExt };
  1546.  
  1547. typedef Set<THKModifier, hkShift, hkExt>  THKModifiers;
  1548.  
  1549. enum THKInvalidKey { hcNone, hcShift, hcCtrl, hcAlt, hcShiftCtrl, hcShiftAlt, hcCtrlAlt, hcShiftCtrlAlt 
  1550.     };
  1551.  
  1552. typedef Set<THKInvalidKey, hcNone, hcShiftCtrlAlt>  THKInvalidKeys;
  1553.  
  1554. class __declspec(delphiclass) TCustomHotKey;
  1555. class __declspec(pascalimplementation) TCustomHotKey : public Controls::TWinControl
  1556. {
  1557.     typedef TCustomHotKey ThisClass;
  1558.     typedef Controls::TWinControl inherited;
  1559.     
  1560. private:
  1561.     System::Boolean FAutoSize;
  1562.     THKModifiers FModifiers;
  1563.     THKInvalidKeys FInvalidKeys;
  1564.     System::Word FHotKey;
  1565.     Classes::TShiftState FShiftState;
  1566.     void __fastcall AdjustHeight(void);
  1567.     void __fastcall SetAutoSize(System::Boolean Value);
  1568.     void __fastcall SetInvalidKeys( THKInvalidKeys Value);
  1569.     void __fastcall SetModifiers( THKModifiers Value);
  1570.     void __fastcall UpdateHeight(void);
  1571.     Menus::TShortCut __fastcall GetHotKey(void);
  1572.     void __fastcall SetHotKey(Menus::TShortCut Value);
  1573.     void __fastcall ShortCutToHotKey(Menus::TShortCut Value);
  1574.     Menus::TShortCut __fastcall HotKeyToShortCut(System::Longint Value);
  1575.     
  1576. protected:
  1577.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1578.     virtual void __fastcall CreateWnd(void);
  1579.     __property System::Boolean AutoSize = {read=FAutoSize, write=SetAutoSize, default=1};
  1580.     __property THKInvalidKeys InvalidKeys = {read=FInvalidKeys, write=SetInvalidKeys, nodefault};
  1581.     __property THKModifiers Modifiers = {read=FModifiers, write=SetModifiers, nodefault};
  1582.     __property Menus::TShortCut HotKey = {read=GetHotKey, write=SetHotKey, nodefault};
  1583.     __property TabStop ;
  1584.     
  1585. public:
  1586.     __fastcall virtual TCustomHotKey(Classes::TComponent *AOwner);
  1587. public:
  1588.     /* !! TWinControl.Destroy */ __fastcall virtual ~TCustomHotKey(void) { }
  1589.     
  1590. };
  1591.  
  1592. class __declspec(delphiclass) THotKey;
  1593. class __declspec(pascalimplementation) THotKey : public TCustomHotKey
  1594. {
  1595.     typedef THotKey ThisClass;
  1596.     typedef TCustomHotKey inherited;
  1597.     
  1598. __published:
  1599.     __property AutoSize ;
  1600.     __property Enabled ;
  1601.     __property Hint ;
  1602.     __property HotKey ;
  1603.     __property InvalidKeys ;
  1604.     __property Modifiers ;
  1605.     __property ParentShowHint ;
  1606.     __property PopupMenu ;
  1607.     __property ShowHint ;
  1608.     __property TabOrder ;
  1609.     __property TabStop ;
  1610.     __property Visible ;
  1611.     __property OnEnter ;
  1612.     __property OnExit ;
  1613.     __property OnMouseDown ;
  1614.     __property OnMouseMove ;
  1615.     __property OnMouseUp ;
  1616. public:
  1617.     /* !! TCustomHotKey.Create */ __fastcall virtual THotKey(Classes::TComponent *AOwner) : Comctrls::TCustomHotKey(
  1618.         AOwner) { }
  1619.     
  1620. public:
  1621.     /* !! TWinControl.Destroy */ __fastcall virtual ~THotKey(void) { }
  1622.     
  1623. };
  1624.  
  1625. typedef System::Integer TWidth;
  1626.  
  1627. class __declspec(delphiclass) TListColumn;
  1628. class __declspec(pascalimplementation) TListColumn : public Classes::TCollectionItem
  1629. {
  1630.     typedef TListColumn ThisClass;
  1631.     typedef Classes::TCollectionItem inherited;
  1632.     
  1633. private:
  1634.     System::AnsiString FCaption;
  1635.     TAlignment FAlignment;
  1636.     TWidth FWidth;
  1637.     void __fastcall DoChange(void);
  1638.     TWidth __fastcall GetWidth(void);
  1639.     void __fastcall ReadData(Classes::TReader *Reader);
  1640.     void __fastcall SetAlignment(Classes::TAlignment Value);
  1641.     void __fastcall SetCaption(const System::AnsiString Value);
  1642.     void __fastcall SetWidth(TWidth Value);
  1643.     void __fastcall WriteData(Classes::TWriter *Writer);
  1644.     
  1645. protected:
  1646.     virtual void __fastcall DefineProperties(Classes::TFiler *Filer);
  1647.     
  1648. public:
  1649.     __fastcall virtual TListColumn(Classes::TCollection *Collection);
  1650.     __fastcall virtual ~TListColumn(void);
  1651.     virtual void __fastcall Assign(Classes::TPersistent *Source);
  1652.     __property TWidth WidthType = {read=FWidth, nodefault};
  1653.     
  1654. __published:
  1655.     __property Classes::TAlignment Alignment = {read=FAlignment, write=SetAlignment, default=0};
  1656.     __property System::AnsiString Caption = {read=FCaption, write=SetCaption, nodefault};
  1657.     __property TWidth Width = {read=GetWidth, write=SetWidth, default=50};
  1658. };
  1659.  
  1660. class __declspec(delphiclass) TListColumns;
  1661. class __declspec(delphiclass) TCustomListView;
  1662. enum TViewStyle { vsIcon, vsSmallIcon, vsList, vsReport };
  1663.  
  1664. class __declspec(delphiclass) TListItems;
  1665. class __declspec(delphiclass) TListItem;
  1666. class __declspec(pascalimplementation) TListItems : public Classes::TPersistent
  1667. {
  1668.     typedef TListItems ThisClass;
  1669.     typedef Classes::TPersistent inherited;
  1670.     
  1671. private:
  1672.     TCustomListView *FOwner;
  1673.     System::Integer FUpdateCount;
  1674.     System::Boolean FNoRedraw;
  1675.     void __fastcall ReadData(Classes::TStream *Stream);
  1676.     void __fastcall WriteData(Classes::TStream *Stream);
  1677.     
  1678. protected:
  1679.     virtual void __fastcall DefineProperties(Classes::TFiler *Filer);
  1680.     Commctrl::TLVItemA __fastcall CreateItem(System::Integer Index, TListItem *ListItem);
  1681.     System::Integer __fastcall GetCount(void);
  1682.     System::Integer __fastcall GetHandle(void);
  1683.     TListItem *__fastcall GetItem(System::Integer Index);
  1684.     void __fastcall SetItem(System::Integer Index, TListItem *Value);
  1685.     void __fastcall SetUpdateState(System::Boolean Updating);
  1686.     
  1687. public:
  1688.     __fastcall TListItems(TCustomListView *AOwner);
  1689.     __fastcall virtual ~TListItems(void);
  1690.     TListItem *__fastcall Add(void);
  1691.     virtual void __fastcall Assign(Classes::TPersistent *Source);
  1692.     void __fastcall BeginUpdate(void);
  1693.     void __fastcall Clear(void);
  1694.     void __fastcall Delete(System::Integer Index);
  1695.     void __fastcall EndUpdate(void);
  1696.     System::Integer __fastcall IndexOf(TListItem *Value);
  1697.     TListItem *__fastcall Insert(System::Integer Index);
  1698.     __property System::Integer Count = {read=GetCount, nodefault};
  1699.     __property System::Integer Handle = {read=GetHandle, nodefault};
  1700.     __property TListItem * Item[System::Integer Index] = {read=GetItem, write=SetItem/*, default*/};
  1701.     __property TCustomListView * Owner = {read=FOwner, nodefault};
  1702. };
  1703.  
  1704. class __declspec(delphiclass) TIconOptions;
  1705. enum TIconArrangement { iaTop, iaLeft };
  1706.  
  1707. class __declspec(pascalimplementation) TIconOptions : public Classes::TPersistent
  1708. {
  1709.     typedef TIconOptions ThisClass;
  1710.     typedef Classes::TPersistent inherited;
  1711.     
  1712. private:
  1713.     TCustomListView *FListView;
  1714.     TIconArrangement FArrangement;
  1715.     System::Boolean FAutoArrange;
  1716.     System::Boolean FWrapText;
  1717.     void __fastcall SetArrangement(TIconArrangement Value);
  1718.     void __fastcall SetAutoArrange(System::Boolean Value);
  1719.     void __fastcall SetWrapText(System::Boolean Value);
  1720.     
  1721. public:
  1722.     __fastcall TIconOptions(TCustomListView *AOwner);
  1723.     
  1724. __published:
  1725.     __property TIconArrangement Arrangement = {read=FArrangement, write=SetArrangement, default=0};
  1726.     __property System::Boolean AutoArrange = {read=FAutoArrange, write=SetAutoArrange, default=0};
  1727.     __property System::Boolean WrapText = {read=FWrapText, write=SetWrapText, default=1};
  1728. public:
  1729.     /* !! TObject.Destroy */ __fastcall virtual ~TIconOptions(void) { }
  1730.     
  1731. };
  1732.  
  1733. enum TItemChange { ctText, ctImage, ctState };
  1734.  
  1735. typedef void __fastcall (__closure *TLVChangeEvent)(System::TObject *Sender, TListItem *Item, TItemChange 
  1736.     Change);
  1737.  
  1738. typedef void __fastcall (__closure *TLVChangingEvent)(System::TObject *Sender, TListItem *Item, TItemChange 
  1739.     Change, System::Boolean &AllowChange);
  1740.  
  1741. typedef void __fastcall (__closure *TLVColumnClickEvent)(System::TObject *Sender, TListColumn *Column
  1742.     );
  1743.  
  1744. typedef void __fastcall (__closure *TLVDeletedEvent)(System::TObject *Sender, TListItem *Item);
  1745.  
  1746. typedef void __fastcall (__closure *TLVEditingEvent)(System::TObject *Sender, TListItem *Item, System::Boolean 
  1747.     &AllowEdit);
  1748.  
  1749. typedef void __fastcall (__closure *TLVEditedEvent)(System::TObject *Sender, TListItem *Item,  System::AnsiString &
  1750.     S);
  1751.  
  1752. typedef void __fastcall (__closure *TLVCompareEvent)(System::TObject *Sender, TListItem *Item1, TListItem *
  1753.     Item2, System::Integer Data, System::Integer &Compare);
  1754.  
  1755. enum TListArrangement { arAlignBottom, arAlignLeft, arAlignRight, arAlignTop, arDefault, arSnapToGrid 
  1756.     };
  1757.  
  1758. enum TSearchDirection { sdLeft, sdRight, sdAbove, sdBelow, sdAll };
  1759.  
  1760. enum TItemState { isNone, isCut, isDropHilited, isFocused, isSelected };
  1761.  
  1762. typedef Set<TItemState, isNone, isSelected>  TItemStates;
  1763.  
  1764. class __declspec(pascalimplementation) TCustomListView : public Controls::TWinControl
  1765. {
  1766.     typedef TCustomListView ThisClass;
  1767.     typedef Controls::TWinControl inherited;
  1768.     
  1769. private:
  1770.     TFormBorderStyle FBorderStyle;
  1771.     TViewStyle FViewStyle;
  1772.     System::Boolean FReadOnly;
  1773.     Controls::TImageList *FLargeImages;
  1774.     Controls::TImageList *FSmallImages;
  1775.     Controls::TImageList *FStateImages;
  1776.     Controls::TImageList *FDragImage;
  1777.     System::Boolean FShareImages;
  1778.     System::Boolean FMultiSelect;
  1779.     TSortType FSortType;
  1780.     System::Boolean FColumnClick;
  1781.     System::Boolean FShowColumnHeaders;
  1782.     TListItems *FListItems;
  1783.     System::Boolean FClicked;
  1784.     System::Boolean FRClicked;
  1785.     TIconOptions *FIconOptions;
  1786.     System::Boolean FHideSelection;
  1787.     TListColumns *FListColumns;
  1788.     Classes::TMemoryStream *FMemStream;
  1789.     void *FEditInstance;
  1790.     void *FDefEditProc;
  1791.     System::Integer FEditHandle;
  1792.     void *FHeaderInstance;
  1793.     void *FDefHeaderProc;
  1794.     System::Integer FHeaderHandle;
  1795.     System::Integer FAllocBy;
  1796.     System::Integer FDragIndex;
  1797.     TListItem *FLastDropTarget;
  1798.     Controls::TChangeLink *FLargeChangeLink;
  1799.     Controls::TChangeLink *FSmallChangeLink;
  1800.     Controls::TChangeLink *FStateChangeLink;
  1801.     TLVChangeEvent FOnChange;
  1802.     TLVChangingEvent FOnChanging;
  1803.     TLVColumnClickEvent FOnColumnClick;
  1804.     TLVDeletedEvent FOnDeletion;
  1805.     TLVEditingEvent FOnEditing;
  1806.     TLVEditedEvent FOnEdited;
  1807.     TLVDeletedEvent FOnInsert;
  1808.     TLVCompareEvent FOnCompare;
  1809.     MESSAGE void __fastcall CMColorChanged(Messages::TMessage &Message);
  1810.     MESSAGE void __fastcall CMCtl3DChanged(Messages::TMessage &Message);
  1811.     MESSAGE void __fastcall CMDrag(Controls::TCMDrag &Message);
  1812.     MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  1813.     MESSAGE void __fastcall CNNotify(Messages::TWMNotify &Message);
  1814.     void __fastcall DoDragOver(Controls::TDragObject *Source, System::Integer X, System::Integer Y);
  1815.     void __fastcall EditWndProc(Messages::TMessage &Message);
  1816.     Windows::TRect __fastcall GetBoundingRect(void);
  1817.     TListColumn *__fastcall GetColumnFromIndex(System::Integer Index);
  1818.     TListItem *__fastcall GetDropTarget(void);
  1819.     TListItem *__fastcall GetFocused(void);
  1820.     TListItem *__fastcall GetItem(const Commctrl::TLVItemA &Value);
  1821.     System::Integer __fastcall GetSelCount(void);
  1822.     TListItem *__fastcall GetSelection(void);
  1823.     TListItem *__fastcall GetTopItem(void);
  1824.     Windows::TPoint __fastcall GetViewOrigin(void);
  1825.     System::Integer __fastcall GetVisibleRowCount(void);
  1826.     void __fastcall HeaderWndProc(Messages::TMessage &Message);
  1827.     void __fastcall ImageListChange(System::TObject *Sender);
  1828.     virtual void __fastcall InsertItem(TListItem *Item);
  1829.     void __fastcall SetBorderStyle(Forms::TBorderStyle Value);
  1830.     void __fastcall SetColumnClick(System::Boolean Value);
  1831.     void __fastcall SetColumnHeaders(System::Boolean Value);
  1832.     void __fastcall SetDropTarget(TListItem *Value);
  1833.     void __fastcall SetFocused(TListItem *Value);
  1834.     void __fastcall SetHideSelection(System::Boolean Value);
  1835.     void __fastcall SetIconArrangement(TIconArrangement Value);
  1836.     void __fastcall SetIconOptions(TIconOptions *Value);
  1837.     void __fastcall SetImageList(System::Integer Value, System::Integer Flags);
  1838.     void __fastcall SetLargeImages(Controls::TImageList *Value);
  1839.     void __fastcall SetAllocBy(System::Integer Value);
  1840.     void __fastcall SetItems(TListItems *Value);
  1841.     void __fastcall SetListColumns(TListColumns *Value);
  1842.     void __fastcall SetMultiSelect(System::Boolean Value);
  1843.     void __fastcall SetReadOnly(System::Boolean Value);
  1844.     void __fastcall SetSmallImages(Controls::TImageList *Value);
  1845.     void __fastcall SetSortType(TSortType Value);
  1846.     void __fastcall SetSelection(TListItem *Value);
  1847.     void __fastcall SetStateImages(Controls::TImageList *Value);
  1848.     void __fastcall SetTextBkColor(Graphics::TColor Value);
  1849.     void __fastcall SetTextColor(Graphics::TColor Value);
  1850.     void __fastcall SetViewStyle(TViewStyle Value);
  1851.     System::Boolean __fastcall ValidHeaderHandle(void);
  1852.     MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  1853.     MESSAGE void __fastcall WMNotify(Messages::TWMNotify &Message);
  1854.     MESSAGE void __fastcall WMParentNotify(Messages::TWMParentNotify &Message);
  1855.     MESSAGE void __fastcall WMRButtonDown(Messages::TWMMouse &Message);
  1856.     
  1857. protected:
  1858.     virtual System::Boolean __fastcall CanChange(TListItem *Item, System::Integer Change);
  1859.     virtual System::Boolean __fastcall CanEdit(TListItem *Item);
  1860.     virtual void __fastcall Change(TListItem *Item, System::Integer Change);
  1861.     virtual void __fastcall ColClick(TListColumn *Column);
  1862.     System::Boolean __fastcall ColumnsShowing(void);
  1863.     virtual TListItem *__fastcall CreateListItem(void);
  1864.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1865.     virtual void __fastcall CreateWnd(void);
  1866.     virtual void __fastcall Delete(TListItem *Item);
  1867.     virtual void __fastcall DestroyWnd(void);
  1868.     virtual void __fastcall DoEndDrag(System::TObject *Target, System::Integer X, System::Integer Y);
  1869.     virtual void __fastcall DoStartDrag(Controls::TDragObject *&DragObject);
  1870.     virtual void __fastcall Edit(const Commctrl::TLVItemA &Item);
  1871.     virtual Controls::TCustomImageList *__fastcall GetDragImages(void);
  1872.     System::Integer __fastcall GetItemIndex(TListItem *Value);
  1873.     virtual void __fastcall Notification(Classes::TComponent *AComponent, Classes::TOperation Operation
  1874.         );
  1875.     void __fastcall UpdateColumn(System::Integer Index);
  1876.     void __fastcall UpdateColumns(void);
  1877.     virtual void __fastcall WndProc(Messages::TMessage &Message);
  1878.     __property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, default=1};
  1879.     __property TListColumns * Columns = {read=FListColumns, write=SetListColumns, nodefault};
  1880.     __property System::Boolean ColumnClick = {read=FColumnClick, write=SetColumnClick, default=1};
  1881.     __property System::Boolean ReadOnly = {read=FReadOnly, write=SetReadOnly, nodefault};
  1882.     __property System::Boolean HideSelection = {read=FHideSelection, write=SetHideSelection, default=1}
  1883.         ;
  1884.     __property TIconOptions * IconOptions = {read=FIconOptions, write=SetIconOptions, nodefault};
  1885.     __property TListItems * Items = {read=FListItems, write=SetItems, nodefault};
  1886.     __property System::Integer AllocBy = {read=FAllocBy, write=SetAllocBy, default=0};
  1887.     __property Controls::TImageList * LargeImages = {read=FLargeImages, write=SetLargeImages, nodefault
  1888.         };
  1889.     __property System::Boolean MultiSelect = {read=FMultiSelect, write=SetMultiSelect, default=0};
  1890.     __property TLVChangeEvent OnChange = {read=FOnChange, write=FOnChange};
  1891.     __property TLVChangingEvent OnChanging = {read=FOnChanging, write=FOnChanging};
  1892.     __property TLVColumnClickEvent OnColumnClick = {read=FOnColumnClick, write=FOnColumnClick};
  1893.     __property TLVCompareEvent OnCompare = {read=FOnCompare, write=FOnCompare};
  1894.     __property TLVDeletedEvent OnDeletion = {read=FOnDeletion, write=FOnDeletion};
  1895.     __property TLVEditedEvent OnEdited = {read=FOnEdited, write=FOnEdited};
  1896.     __property TLVEditingEvent OnEditing = {read=FOnEditing, write=FOnEditing};
  1897.     __property TLVDeletedEvent OnInsert = {read=FOnInsert, write=FOnInsert};
  1898.     __property System::Boolean ShowColumnHeaders = {read=FShowColumnHeaders, write=SetColumnHeaders, default=1
  1899.         };
  1900.     __property Controls::TImageList * SmallImages = {read=FSmallImages, write=SetSmallImages, nodefault
  1901.         };
  1902.     __property TSortType SortType = {read=FSortType, write=SetSortType, default=0};
  1903.     __property Controls::TImageList * StateImages = {read=FStateImages, write=SetStateImages, nodefault
  1904.         };
  1905.     __property TViewStyle ViewStyle = {read=FViewStyle, write=SetViewStyle, default=0};
  1906.     
  1907. public:
  1908.     __fastcall virtual TCustomListView(Classes::TComponent *AOwner);
  1909.     __fastcall virtual ~TCustomListView(void);
  1910.     System::Boolean __fastcall AlphaSort(void);
  1911.     void __fastcall Arrange(TListArrangement Code);
  1912.     TListItem *__fastcall FindCaption(System::Integer StartIndex,  System::AnsiString Value, System::Boolean 
  1913.         Partial, System::Boolean Inclusive, System::Boolean Wrap);
  1914.     TListItem *__fastcall FindData(System::Integer StartIndex, System::Pointer Value, System::Boolean Inclusive
  1915.         , System::Boolean Wrap);
  1916.     TListItem *__fastcall GetItemAt(System::Integer X, System::Integer Y);
  1917.     TListItem *__fastcall GetNearestItem(const Windows::TPoint &Point, TSearchDirection Direction);
  1918.     TListItem *__fastcall GetNextItem(TListItem *StartItem, TSearchDirection Direction,  TItemStates States
  1919.         );
  1920.     System::AnsiString __fastcall GetSearchString(void);
  1921.     System::Boolean __fastcall IsEditing(void);
  1922.     void __fastcall Scroll(System::Integer DX, System::Integer DY);
  1923.     __property TListColumn * Column[System::Integer Index] = {read=GetColumnFromIndex};
  1924.     __property TListItem * DropTarget = {read=GetDropTarget, write=SetDropTarget, nodefault};
  1925.     __property TListItem * ItemFocused = {read=GetFocused, write=SetFocused, nodefault};
  1926.     __property System::Integer SelCount = {read=GetSelCount, nodefault};
  1927.     __property TListItem * Selected = {read=GetSelection, write=SetSelection, nodefault};
  1928.     System::Boolean __fastcall CustomSort(Commctrl::TLVCompare SortProc, System::Longint lParam);
  1929.     System::Integer __fastcall StringWidth( System::AnsiString S);
  1930.     void __fastcall UpdateItems(System::Integer FirstIndex, System::Integer LastIndex);
  1931.     __property TListItem * TopItem = {read=GetTopItem, nodefault};
  1932.     __property Windows::TPoint ViewOrigin = {read=GetViewOrigin};
  1933.     __property System::Integer VisibleRowCount = {read=GetVisibleRowCount, nodefault};
  1934.     __property Windows::TRect BoundingRect = {read=GetBoundingRect};
  1935. };
  1936.  
  1937. class __declspec(pascalimplementation) TListColumns : public Classes::TCollection
  1938. {
  1939.     typedef TListColumns ThisClass;
  1940.     typedef Classes::TCollection inherited;
  1941.     
  1942. private:
  1943.     TCustomListView *FOwner;
  1944.     TListColumn *__fastcall GetItem(System::Integer Index);
  1945.     void __fastcall SetItem(System::Integer Index, TListColumn *Value);
  1946.     
  1947. protected:
  1948.     virtual void __fastcall Update(Classes::TCollectionItem *Item);
  1949.     
  1950. public:
  1951.     __fastcall TListColumns(TCustomListView *AOwner);
  1952.     TListColumn *__fastcall Add(void);
  1953.     __property TCustomListView * Owner = {read=FOwner, nodefault};
  1954.     __property TListColumn * Items[System::Integer Index] = {read=GetItem, write=SetItem/*, default*/};
  1955.         
  1956. public:
  1957.     /* !! TCollection.Destroy */ __fastcall virtual ~TListColumns(void) { }
  1958.     
  1959. };
  1960.  
  1961. enum TDisplayCode { drBounds, drIcon, drLabel, drSelectBounds };
  1962.  
  1963. class __declspec(pascalimplementation) TListItem : public Classes::TPersistent
  1964. {
  1965.     typedef TListItem ThisClass;
  1966.     typedef Classes::TPersistent inherited;
  1967.     
  1968. private:
  1969.     TListItems *FOwner;
  1970.     Classes::TStrings *FSubItems;
  1971.     void *FData;
  1972.     System::Integer FImageIndex;
  1973.     System::Integer FOverlayIndex;
  1974.     System::Integer FStateIndex;
  1975.     System::AnsiString FCaption;
  1976.     System::Boolean FDeleting;
  1977.     System::Boolean FProcessedDeleting;
  1978.     System::Integer __fastcall GetHandle(void);
  1979.     System::Integer __fastcall GetIndex(void);
  1980.     TCustomListView *__fastcall GetListView(void);
  1981.     System::Integer __fastcall GetLeft(void);
  1982.     System::Boolean __fastcall GetState(System::Integer Index);
  1983.     System::Integer __fastcall GetTop(void);
  1984.     System::Boolean __fastcall IsEqual(TListItem *Item);
  1985.     void __fastcall SetCaption(const System::AnsiString Value);
  1986.     void __fastcall SetData(System::Pointer Value);
  1987.     void __fastcall SetImage(System::Integer Index, System::Integer Value);
  1988.     void __fastcall SetLeft(System::Integer Value);
  1989.     void __fastcall SetState(System::Integer Index, System::Boolean State);
  1990.     void __fastcall SetSubItems(Classes::TStrings *Value);
  1991.     void __fastcall SetTop(System::Integer Value);
  1992.     
  1993. protected:
  1994.     virtual void __fastcall Assign(Classes::TPersistent *Source);
  1995.     
  1996. public:
  1997.     __fastcall TListItem(TListItems *AOwner);
  1998.     __fastcall virtual ~TListItem(void);
  1999.     void __fastcall CancelEdit(void);
  2000.     void __fastcall Delete(void);
  2001.     Windows::TRect __fastcall DisplayRect(TDisplayCode Code);
  2002.     System::Boolean __fastcall EditCaption(void);
  2003.     Windows::TPoint __fastcall GetPosition(void);
  2004.     void __fastcall MakeVisible(System::Boolean PartialOK);
  2005.     void __fastcall Update(void);
  2006.     void __fastcall SetPosition(const Windows::TPoint &Value);
  2007.     __property System::AnsiString Caption = {read=FCaption, write=SetCaption, nodefault};
  2008.     __property System::Boolean Cut = {read=GetState, write=SetState, index=0, nodefault};
  2009.     __property System::Pointer Data = {read=FData, write=SetData, nodefault};
  2010.     __property System::Boolean DropTarget = {read=GetState, write=SetState, index=1, nodefault};
  2011.     __property System::Boolean Focused = {read=GetState, write=SetState, index=2, nodefault};
  2012.     __property System::Integer Handle = {read=GetHandle, nodefault};
  2013.     __property System::Integer ImageIndex = {read=FImageIndex, write=SetImage, index=0, nodefault};
  2014.     __property System::Integer Index = {read=GetIndex, nodefault};
  2015.     __property System::Integer Left = {read=GetLeft, write=SetLeft, nodefault};
  2016.     __property TCustomListView * ListView = {read=GetListView, nodefault};
  2017.     __property TListItems * Owner = {read=FOwner, nodefault};
  2018.     __property System::Integer OverlayIndex = {read=FOverlayIndex, write=SetImage, index=1, nodefault};
  2019.         
  2020.     __property System::Boolean Selected = {read=GetState, write=SetState, index=3, nodefault};
  2021.     __property System::Integer StateIndex = {read=FStateIndex, write=SetImage, index=2, nodefault};
  2022.     __property Classes::TStrings * SubItems = {read=FSubItems, write=SetSubItems, nodefault};
  2023.     __property System::Integer Top = {read=GetTop, write=SetTop, nodefault};
  2024. };
  2025.  
  2026. class __declspec(delphiclass) TListView;
  2027. class __declspec(pascalimplementation) TListView : public TCustomListView
  2028. {
  2029.     typedef TListView ThisClass;
  2030.     typedef TCustomListView inherited;
  2031.     
  2032. __published:
  2033.     __property Align ;
  2034.     __property BorderStyle ;
  2035.     __property Color ;
  2036.     __property ColumnClick ;
  2037.     __property OnClick ;
  2038.     __property OnDblClick ;
  2039.     __property Columns ;
  2040.     __property Ctl3D ;
  2041.     __property DragMode ;
  2042.     __property ReadOnly ;
  2043.     __property Font ;
  2044.     __property HideSelection ;
  2045.     __property IconOptions ;
  2046.     __property Items ;
  2047.     __property AllocBy ;
  2048.     __property MultiSelect ;
  2049.     __property OnChange ;
  2050.     __property OnChanging ;
  2051.     __property OnColumnClick ;
  2052.     __property OnCompare ;
  2053.     __property OnDeletion ;
  2054.     __property OnEdited ;
  2055.     __property OnEditing ;
  2056.     __property OnEnter ;
  2057.     __property OnExit ;
  2058.     __property OnInsert ;
  2059.     __property OnDragDrop ;
  2060.     __property OnDragOver ;
  2061.     __property DragCursor ;
  2062.     __property OnStartDrag ;
  2063.     __property OnEndDrag ;
  2064.     __property OnMouseDown ;
  2065.     __property OnMouseMove ;
  2066.     __property OnMouseUp ;
  2067.     __property ParentShowHint ;
  2068.     __property ShowHint ;
  2069.     __property PopupMenu ;
  2070.     __property ShowColumnHeaders ;
  2071.     __property SortType ;
  2072.     __property TabOrder ;
  2073.     __property TabStop ;
  2074.     __property ViewStyle ;
  2075.     __property Visible ;
  2076.     __property OnKeyDown ;
  2077.     __property OnKeyPress ;
  2078.     __property OnKeyUp ;
  2079.     __property LargeImages ;
  2080.     __property SmallImages ;
  2081.     __property StateImages ;
  2082. public:
  2083.     /* !! TCustomListView.Create */ __fastcall virtual TListView(Classes::TComponent *AOwner) : Comctrls::TCustomListView(
  2084.         AOwner) { }
  2085.     /* !! TCustomListView.Destroy */ __fastcall virtual ~TListView(void) { }
  2086.     
  2087. };
  2088.  
  2089. //-- var, const, procedure ---------------------------------------------------
  2090. #define ColumnHeaderWidth System::Shortint(-2)
  2091. #define ColumnTextWidth System::Shortint(-1)
  2092. //-- template instantiations -------------------------------------------------
  2093. template class TItemStates ;
  2094. template class Classes::TShiftState ;
  2095. template class THKInvalidKeys ;
  2096. template class THKModifiers ;
  2097. template class TSearchTypes ;
  2098. template class TConsistentAttributes ;
  2099. template class THitTests ;
  2100. template class SmallString<255> ;
  2101.  
  2102. }    /* namespace Comctrls */
  2103. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  2104. using namespace Comctrls;
  2105. #endif
  2106. //-- end unit ----------------------------------------------------------------
  2107. #endif    // ComCtrls
  2108.