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