fctreecombo.hpp
上传用户:hylc_2004
上传日期:2014-01-23
资源大小:46800k
文件大小:13k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1999 by Borland International
  3. // All rights reserved
  4. // (DO NOT EDIT: machine generated header) 'fctreecombo.pas' rev: 5.00
  5. #ifndef fctreecomboHPP
  6. #define fctreecomboHPP
  7. #pragma delphiheader begin
  8. #pragma option push -w-
  9. #pragma option push -Vx
  10. #include <fcframe.hpp> // Pascal unit
  11. #include <StdCtrls.hpp> // Pascal unit
  12. #include <ImgList.hpp> // Pascal unit
  13. #include <DB.hpp> // Pascal unit
  14. #include <Grids.hpp> // Pascal unit
  15. #include <Dialogs.hpp> // Pascal unit
  16. #include <ExtCtrls.hpp> // Pascal unit
  17. #include <fcTreeView.hpp> // Pascal unit
  18. #include <fcCombo.hpp> // Pascal unit
  19. #include <fcCommon.hpp> // Pascal unit
  20. #include <Buttons.hpp> // Pascal unit
  21. #include <Controls.hpp> // Pascal unit
  22. #include <Classes.hpp> // Pascal unit
  23. #include <Messages.hpp> // Pascal unit
  24. #include <Windows.hpp> // Pascal unit
  25. #include <SysUtils.hpp> // Pascal unit
  26. #include <Menus.hpp> // Pascal unit
  27. #include <Graphics.hpp> // Pascal unit
  28. #include <Forms.hpp> // Pascal unit
  29. #include <SysInit.hpp> // Pascal unit
  30. #include <System.hpp> // Pascal unit
  31. //-- user supplied -----------------------------------------------------------
  32. namespace Fctreecombo
  33. {
  34. //-- type declarations -------------------------------------------------------
  35. class DELPHICLASS TfcPopupPanel;
  36. class PASCALIMPLEMENTATION TfcPopupPanel : public Extctrls::TPanel 
  37. {
  38. typedef Extctrls::TPanel inherited;
  39. protected:
  40. virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  41. public:
  42. __fastcall virtual TfcPopupPanel(Classes::TComponent* AOwner);
  43. public:
  44. #pragma option push -w-inl
  45. /* TCustomControl.Destroy */ inline __fastcall virtual ~TfcPopupPanel(void) { }
  46. #pragma option pop
  47. public:
  48. #pragma option push -w-inl
  49. /* TWinControl.CreateParented */ inline __fastcall TfcPopupPanel(HWND ParentWindow) : Extctrls::TPanel(ParentWindow) { }
  50. #pragma option pop
  51. };
  52. class DELPHICLASS TfcTreeComboTreeNode;
  53. class PASCALIMPLEMENTATION TfcTreeComboTreeNode : public Fctreeview::TfcTreeNode 
  54. {
  55. typedef Fctreeview::TfcTreeNode inherited;
  56. private:
  57. bool FSelectable;
  58. protected:
  59. virtual void __fastcall ReadData(Classes::TStream* Stream, Fctreeview::PfcNodeInfo Info);
  60. virtual void __fastcall WriteData(Classes::TStream* Stream, Fctreeview::PfcNodeInfo Info);
  61. virtual int __fastcall GetSizeOfNodeInfo(void);
  62. public:
  63. __fastcall virtual TfcTreeComboTreeNode(Fctreeview::TfcTreeNodes* AOwner);
  64. __published:
  65. __property bool Selectable = {read=FSelectable, write=FSelectable, nodefault};
  66. public:
  67. #pragma option push -w-inl
  68. /* TfcTreeNode.Destroy */ inline __fastcall virtual ~TfcTreeComboTreeNode(void) { }
  69. #pragma option pop
  70. };
  71. class DELPHICLASS TfcPopupTreeView;
  72. class DELPHICLASS TfcCustomTreeCombo;
  73. #pragma option push -b-
  74. enum TfcImgComboOption { icoExpanded, icoEndNodesOnly };
  75. #pragma option pop
  76. typedef Set<TfcImgComboOption, icoExpanded, icoEndNodesOnly>  TfcImgComboOptions;
  77. typedef void __fastcall (__closure *TfcCheckValidItemEvent)(System::TObject* Sender, Fctreeview::TfcTreeNode* Node, bool &Accept);
  78. class PASCALIMPLEMENTATION TfcCustomTreeCombo : public Fccombo::TfcCustomCombo 
  79. {
  80. typedef Fccombo::TfcCustomCombo inherited;
  81. private:
  82. Fctreeview::TfcTreeNode* FOriginalNode;
  83. AnsiString FOriginalText;
  84. Fctreeview::TfcTreeNode* FSelectedNode;
  85. TfcPopupPanel* FPanel;
  86. bool FShowMatchText;
  87. TfcImgComboOptions FOptions;
  88. TfcPopupTreeView* FTreeView;
  89. int FDropDownWidth;
  90. TfcCheckValidItemEvent FOnCheckValidItem;
  91. Classes::TNotifyEvent FOnSelectionChange;
  92. Classes::TStringList* FItemsList;
  93. int LastItemIndex;
  94. AnsiString LastItemText;
  95. bool SetModifiedInChangeEvent;
  96. Fctreeview::TwwStoreData FStoreDataUsing;
  97. Fctreeview::TfcCalcNodeAttributesEvent __fastcall GetCalcNodeAttributes();
  98. Imglist::TCustomImageList* __fastcall GetImageList(void);
  99. Imglist::TCustomImageList* __fastcall GetStateImageList(void);
  100. Fctreeview::TfcTreeNodes* __fastcall GetItems(void);
  101. bool __fastcall GetSorted(void);
  102. Fctreeview::TfcTreeViewOptions __fastcall GetTreeOptions(void);
  103. void __fastcall SetCalcNodeAttributes(Fctreeview::TfcCalcNodeAttributesEvent Value);
  104. void __fastcall SetItems(Fctreeview::TfcTreeNodes* Value);
  105. void __fastcall SetImageList(Imglist::TCustomImageList* Value);
  106. void __fastcall SetStateImageList(Imglist::TCustomImageList* Value);
  107. void __fastcall SetSorted(bool Value);
  108. void __fastcall SetTreeOptions(Fctreeview::TfcTreeViewOptions Value);
  109. HIDESBASE MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message);
  110. void __fastcall InvalidateImage(void);
  111. Types::TRect __fastcall CalcImageRect(const Types::TRect &Rect);
  112. protected:
  113. virtual TfcPopupTreeView* __fastcall CreatePopupTreeView(void);
  114. virtual Fctreeview::TfcTreeNode* __fastcall GetStartingNode(void);
  115. DYNAMIC void __fastcall Change(void);
  116. virtual void __fastcall ItemsChange(Fctreeview::TfcCustomTreeView* TreeView, Fctreeview::TfcTreeNode* Node, Fctreeview::TfcItemChangeAction Action, const Variant &NewValue);
  117. virtual void __fastcall PaintToCanvas(Graphics::TCanvas* Canvas, const Types::TRect &Rect, bool Highlight, bool GridPaint, AnsiString Text);
  118. virtual void __fastcall ResyncTreeSelected(AnsiString LookupText);
  119. virtual void __fastcall SelectionChange(void);
  120. virtual void __fastcall SelectionChanging(void);
  121. virtual void __fastcall DataChange(System::TObject* Sender);
  122. virtual void __fastcall UpdateData(System::TObject* Sender);
  123. virtual Controls::TWinControl* __fastcall GetDropDownControl(void);
  124. virtual Controls::TWinControl* __fastcall GetDropDownContainer(void);
  125. virtual int __fastcall GetItemCount(void);
  126. virtual tagSIZE __fastcall GetItemSize();
  127. virtual int __fastcall GetLeftIndent(void);
  128. virtual Types::TRect __fastcall GetEditRect();
  129. virtual void __fastcall CreateWnd(void);
  130. DYNAMIC void __fastcall KeyUp(Word &Key, Classes::TShiftState Shift);
  131. DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  132. DYNAMIC void __fastcall KeyPress(char &Key);
  133. virtual void __fastcall Loaded(void);
  134. virtual void __fastcall Paint(void);
  135. virtual void __fastcall WndProc(Messages::TMessage &Message);
  136. virtual bool __fastcall Editable(void);
  137. virtual void __fastcall HideCaret(void);
  138. __property Classes::TStringList* ItemsList = {read=FItemsList};
  139. public:
  140. Variant BasePatch;
  141. __fastcall virtual TfcCustomTreeCombo(Classes::TComponent* AOwner);
  142. __fastcall virtual ~TfcCustomTreeCombo(void);
  143. virtual bool __fastcall IsValidNode(Fctreeview::TfcTreeNode* Node);
  144. virtual void __fastcall CloseUp(bool Accept);
  145. virtual void __fastcall DrawInGridCell(Graphics::TCanvas* ACanvas, const Types::TRect &Rect, Grids::TGridDrawState State);
  146. virtual void __fastcall DropDown(void);
  147. virtual bool __fastcall IsDroppedDown(void);
  148. virtual void __fastcall SetSelectedNode(Fctreeview::TfcTreeNode* Node);
  149. __property int DropDownWidth = {read=FDropDownWidth, write=FDropDownWidth, default=0};
  150. __property bool Sorted = {read=GetSorted, write=SetSorted, nodefault};
  151. __property TfcPopupTreeView* TreeView = {read=FTreeView};
  152. __property Imglist::TCustomImageList* Images = {read=GetImageList, write=SetImageList};
  153. __property Imglist::TCustomImageList* StateImages = {read=GetStateImageList, write=SetStateImageList};
  154. __property Fctreeview::TfcTreeNodes* Items = {read=GetItems, write=SetItems};
  155. __property TfcImgComboOptions Options = {read=FOptions, write=FOptions, nodefault};
  156. __property Fctreeview::TfcTreeNode* SelectedNode = {read=FSelectedNode};
  157. __property bool ShowMatchText = {read=FShowMatchText, write=FShowMatchText, nodefault};
  158. __property Fctreeview::TfcTreeViewOptions TreeOptions = {read=GetTreeOptions, write=SetTreeOptions, default=1256};
  159. __property Fctreeview::TwwStoreData StoreDataUsing = {read=FStoreDataUsing, write=FStoreDataUsing, default=0};
  160. __property TfcCheckValidItemEvent OnCheckValidItem = {read=FOnCheckValidItem, write=FOnCheckValidItem};
  161. __property Fctreeview::TfcCalcNodeAttributesEvent OnCalcNodeAttributes = {read=GetCalcNodeAttributes, write=SetCalcNodeAttributes};
  162. __property Classes::TNotifyEvent OnSelectionChange = {read=FOnSelectionChange, write=FOnSelectionChange};
  163. public:
  164. #pragma option push -w-inl
  165. /* TWinControl.CreateParented */ inline __fastcall TfcCustomTreeCombo(HWND ParentWindow) : Fccombo::TfcCustomCombo(ParentWindow) { }
  166. #pragma option pop
  167. };
  168. class PASCALIMPLEMENTATION TfcPopupTreeView : public Fctreeview::TfcTreeView 
  169. {
  170. typedef Fctreeview::TfcTreeView inherited;
  171. private:
  172. #pragma pack(push, 1)
  173. Types::TPoint FLastPoint;
  174. #pragma pack(pop)
  175. bool FTimerOn;
  176. bool FCheckChange;
  177. TfcCustomTreeCombo* FTreeCombo;
  178. bool FCloseOnUp;
  179. bool FClickedInControl;
  180. MESSAGE void __fastcall WMMouseActivate(Messages::TMessage &Message);
  181. HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  182. MESSAGE void __fastcall WMTimer(Messages::TWMTimer &Message);
  183. protected:
  184. virtual void __fastcall CalcNodeAttributes(Fctreeview::TfcTreeNode* Node, Fctreeview::TfcItemStates AItemState);
  185. DYNAMIC void __fastcall Change(Fctreeview::TfcTreeNode* Node);
  186. virtual void __fastcall KillTimer(void);
  187. virtual void __fastcall SetTimer(void);
  188. DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  189. DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  190. virtual void __fastcall WndProc(Messages::TMessage &Message);
  191. DYNAMIC void __fastcall Collapse(Fctreeview::TfcTreeNode* Node);
  192. __property TfcCustomTreeCombo* TreeCombo = {read=FTreeCombo};
  193. public:
  194. __fastcall virtual TfcPopupTreeView(Classes::TComponent* AOwner);
  195. bool __fastcall ValidNode(Fctreeview::TfcTreeNode* Node);
  196. Fctreeview::TfcTreeNode* __fastcall MovePage(Fctreeview::TfcTreeNode* Node, bool Down);
  197. Fctreeview::TfcTreeNode* __fastcall GetLastVisible(void);
  198. Fctreeview::TfcTreeNode* __fastcall GetLastNode(void);
  199. bool __fastcall SelectValidNode(Fctreeview::TfcTreeNode* StartingNode, Fctreeview::TfcTreeNode* SelectedNode, Word Key);
  200. __property Items ;
  201. public:
  202. #pragma option push -w-inl
  203. /* TfcCustomTreeView.Destroy */ inline __fastcall virtual ~TfcPopupTreeView(void) { }
  204. #pragma option pop
  205. public:
  206. #pragma option push -w-inl
  207. /* TWinControl.CreateParented */ inline __fastcall TfcPopupTreeView(HWND ParentWindow) : Fctreeview::TfcTreeView(ParentWindow) { }
  208. #pragma option pop
  209. };
  210. class DELPHICLASS TfcTreeCombo;
  211. class PASCALIMPLEMENTATION TfcTreeCombo : public TfcCustomTreeCombo 
  212. {
  213. typedef TfcCustomTreeCombo inherited;
  214. __published:
  215. __property Controller ;
  216. __property DisableThemes ;
  217. __property AlignmentVertical ;
  218. __property Anchors ;
  219. __property Constraints ;
  220. __property AllowClearKey ;
  221. __property AutoSelect ;
  222. __property AutoSize ;
  223. __property BorderStyle ;
  224. __property ButtonStyle ;
  225. __property ButtonEffects ;
  226. __property ButtonGlyph ;
  227. __property ButtonWidth ;
  228. __property CharCase ;
  229. __property Color ;
  230. __property Text ;
  231. __property Frame ;
  232. __property DataField ;
  233. __property DataSource ;
  234. __property DropDownCount ;
  235. __property DropDownWidth ;
  236. __property Enabled ;
  237. __property Font ;
  238. __property HideSelection ;
  239. __property Images ;
  240. __property InfoPower ;
  241. __property MaxLength ;
  242. __property Items ;
  243. __property Options ;
  244. __property PopupMenu ;
  245. __property ReadOnly ;
  246. __property ShowButton ;
  247. __property ShowHint ;
  248. __property ShowMatchText ;
  249. __property Sorted ;
  250. __property StateImages ;
  251. __property StoreDataUsing ;
  252. __property Style ;
  253. __property TabOrder ;
  254. __property TreeOptions ;
  255. __property Visible ;
  256. __property OnCalcNodeAttributes ;
  257. __property OnClick ;
  258. __property OnChange ;
  259. __property OnCheckValidItem ;
  260. __property OnCloseUp ;
  261. __property OnContextPopup ;
  262. __property OnDblClick ;
  263. __property OnDragDrop ;
  264. __property OnDragOver ;
  265. __property OnDropDown ;
  266. __property OnAfterDropDown ;
  267. __property OnEndDock ;
  268. __property OnStartDock ;
  269. __property OnEndDrag ;
  270. __property OnEnter ;
  271. __property OnExit ;
  272. __property OnKeyDown ;
  273. __property OnKeyPress ;
  274. __property OnKeyUp ;
  275. __property OnMouseEnter ;
  276. __property OnMouseLeave ;
  277. __property OnMouseDown ;
  278. __property OnMouseMove ;
  279. __property OnMouseUp ;
  280. __property OnSelectionChange ;
  281. __property OnStartDrag ;
  282. public:
  283. #pragma option push -w-inl
  284. /* TfcCustomTreeCombo.Create */ inline __fastcall virtual TfcTreeCombo(Classes::TComponent* AOwner) : TfcCustomTreeCombo(AOwner) { }
  285. #pragma option pop
  286. #pragma option push -w-inl
  287. /* TfcCustomTreeCombo.Destroy */ inline __fastcall virtual ~TfcTreeCombo(void) { }
  288. #pragma option pop
  289. public:
  290. #pragma option push -w-inl
  291. /* TWinControl.CreateParented */ inline __fastcall TfcTreeCombo(HWND ParentWindow) : TfcCustomTreeCombo(ParentWindow) { }
  292. #pragma option pop
  293. };
  294. //-- var, const, procedure ---------------------------------------------------
  295. static const Word FCPOPUPTIMERID = 0x3e8;
  296. static const Shortint FCPOPUPINTERVAL = 0x32;
  297. } /* namespace Fctreecombo */
  298. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  299. using namespace Fctreecombo;
  300. #endif
  301. #pragma option pop // -w-
  302. #pragma option pop // -Vx
  303. #pragma delphiheader end.
  304. //-- end unit ----------------------------------------------------------------
  305. #endif // fctreecombo