fccombo.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) 'fcCombo.pas' rev: 5.00
  5. #ifndef fcComboHPP
  6. #define fcComboHPP
  7. #pragma delphiheader begin
  8. #pragma option push -w-
  9. #pragma option push -Vx
  10. #include <fccombobutton.hpp> // Pascal unit
  11. #include <fcframe.hpp> // Pascal unit
  12. #include <DBCtrls.hpp> // Pascal unit
  13. #include <Db.hpp> // Pascal unit
  14. #include <Grids.hpp> // Pascal unit
  15. #include <Dialogs.hpp> // Pascal unit
  16. #include <TypInfo.hpp> // Pascal unit
  17. #include <fcCommon.hpp> // Pascal unit
  18. #include <StdCtrls.hpp> // Pascal unit
  19. #include <Mask.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 <Graphics.hpp> // Pascal unit
  25. #include <Windows.hpp> // Pascal unit
  26. #include <SysUtils.hpp> // Pascal unit
  27. #include <Menus.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 Fccombo
  33. {
  34. //-- type declarations -------------------------------------------------------
  35. #pragma option push -b-
  36. enum TfcComboButtonStyle { cbsEllipsis, cbsDownArrow, cbsCustom };
  37. #pragma option pop
  38. #pragma option push -b-
  39. enum TfcComboStyle { csDropDown, csDropDownList };
  40. #pragma option pop
  41. #pragma option push -b-
  42. enum TfcAlignVertical { fcavTop, fcavCenter };
  43. #pragma option pop
  44. typedef void __fastcall (__closure *TfcComboCloseUpEvent)(System::TObject* Sender, bool Select);
  45. class DELPHICLASS TfcDropDownButton;
  46. class PASCALIMPLEMENTATION TfcDropDownButton : public Fccombobutton::TfcComboButton 
  47. {
  48. typedef Fccombobutton::TfcComboButton inherited;
  49. private:
  50. HIDESBASE MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &Message);
  51. protected:
  52. DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  53. int Y);
  54. DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  55. DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int 
  56. Y);
  57. virtual void __fastcall Paint(void);
  58. public:
  59. #pragma option push -w-inl
  60. /* TfcComboButton.Create */ inline __fastcall virtual TfcDropDownButton(Classes::TComponent* AOwner
  61. ) : Fccombobutton::TfcComboButton(AOwner) { }
  62. #pragma option pop
  63. #pragma option push -w-inl
  64. /* TfcComboButton.Destroy */ inline __fastcall virtual ~TfcDropDownButton(void) { }
  65. #pragma option pop
  66. };
  67. class DELPHICLASS TfcCustomCombo;
  68. class PASCALIMPLEMENTATION TfcCustomCombo : public Stdctrls::TCustomEdit 
  69. {
  70. typedef Stdctrls::TCustomEdit inherited;
  71. private:
  72. Classes::TComponent* FController;
  73. TfcAlignVertical FAlignmentVertical;
  74. Controls::TWinControl* FBtnParent;
  75. TfcDropDownButton* FButton;
  76. Dbctrls::TFieldDataLink* FDataLink;
  77. int FDropDownCount;
  78. bool FInfoPower;
  79. Classes::TNotifyEvent FOnCustomDlg;
  80. TfcComboCloseUpEvent FOnCloseUp;
  81. Classes::TNotifyEvent FOnDropDown;
  82. Classes::TNotifyEvent FOnAfterDropDown;
  83. TfcComboButtonStyle FButtonStyle;
  84. int FButtonWidth;
  85. Controls::TControlCanvas* FCanvas;
  86. Controls::TControlCanvas* FPaintCanvas;
  87. TfcComboStyle FStyle;
  88. bool FReadOnly;
  89. bool FAllowClearKey;
  90. Classes::TNotifyEvent FOnMouseEnter;
  91. Classes::TNotifyEvent FOnMouseLeave;
  92. Fcframe::TfcEditFrame* FFrame;
  93. Fcframe::TfcButtonEffects* FButtonEffects;
  94. Controls::TCursor FSavedCursor;
  95. bool FIgnoreCursorChange;
  96. bool skipUpdate;
  97. bool FMouseInButtonControl;
  98. bool FDisableThemes;
  99. HIDESBASE MESSAGE void __fastcall WMSetFont(Messages::TWMSetFont &Message);
  100. MESSAGE void __fastcall CMCancelMode(Controls::TCMCancelMode &Message);
  101. HIDESBASE MESSAGE void __fastcall CMCursorChanged(Messages::TMessage &Message);
  102. HIDESBASE MESSAGE void __fastcall CMEnter(Messages::TWMNoParams &Message);
  103. HIDESBASE MESSAGE void __fastcall CMExit(Messages::TWMNoParams &Message);
  104. HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  105. HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
  106. MESSAGE void __fastcall CMGetDataLink(Messages::TMessage &Message);
  107. HIDESBASE MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message);
  108. HIDESBASE MESSAGE void __fastcall CNKeyDown(Messages::TWMKey &Message);
  109. HIDESBASE MESSAGE void __fastcall WMSetFocus(Messages::TWMSetFocus &Message);
  110. HIDESBASE MESSAGE void __fastcall WMKillFocus(Messages::TWMKillFocus &Message);
  111. HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  112. HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  113. MESSAGE void __fastcall WMCut(Messages::TMessage &Message);
  114. MESSAGE void __fastcall WMPaste(Messages::TMessage &Message);
  115. HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
  116. HIDESBASE MESSAGE void __fastcall CMMouseEnter(Messages::TMessage &Message);
  117. HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
  118. void __fastcall SetController(Classes::TComponent* Value);
  119. AnsiString __fastcall GetDataField(void);
  120. Db::TDataSource* __fastcall GetDataSource(void);
  121. bool __fastcall GetReadOnly(void);
  122. void __fastcall SetButtonStyle(TfcComboButtonStyle Value);
  123. Graphics::TBitmap* __fastcall GetButtonGlyph(void);
  124. void __fastcall SetButtonGlyph(Graphics::TBitmap* Value);
  125. void __fastcall SetButtonWidth(int val);
  126. int __fastcall GetButtonWidth(void);
  127. void __fastcall SetDataField(AnsiString Value);
  128. void __fastcall SetDataSource(Db::TDataSource* Value);
  129. HIDESBASE void __fastcall SetReadOnly(bool Value);
  130. void __fastcall SetStyle(TfcComboStyle Value);
  131. void __fastcall SetAlignmentVertical(TfcAlignVertical Value);
  132. void __fastcall SetFocused(bool Value);
  133. protected:
  134. bool FFocused;
  135. void __fastcall UpdateButtonGlyph(void);
  136. virtual void __fastcall SetDropDownCount(int Value);
  137. virtual Controls::TWinControl* __fastcall GetDropDownControl(void) = 0 ;
  138. virtual Controls::TWinControl* __fastcall GetDropDownContainer(void) = 0 ;
  139. virtual int __fastcall GetItemCount(void) = 0 ;
  140. virtual tagSIZE __fastcall GetItemSize(void) = 0 ;
  141. virtual int __fastcall GetLeftIndent(void);
  142. virtual void __fastcall BtnMouseDown(System::TObject* Sender, Controls::TMouseButton Button, Classes::TShiftState 
  143. Shift, int X, int Y);
  144. virtual void __fastcall DrawButton(Graphics::TCanvas* Canvas, const Windows::TRect &R, Buttons::TButtonState 
  145. State, Controls::TControlState ControlState, bool &DefaultPaint);
  146. virtual void __fastcall HideCaret(void);
  147. virtual void __fastcall Paint(void);
  148. virtual void __fastcall ShowCaret(void);
  149. virtual bool __fastcall GetShowButton(void);
  150. HIDESBASE virtual void __fastcall SetModified(bool Value);
  151. void __fastcall SetShowButton(bool Value);
  152. virtual bool __fastcall Editable(void);
  153. virtual bool __fastcall EditCanModify(void);
  154. virtual Windows::TRect __fastcall GetClientEditRect(void);
  155. virtual Windows::TRect __fastcall GetEditRect(void);
  156. virtual int __fastcall GetIconIndent(void);
  157. virtual int __fastcall GetIconLeft(void);
  158. virtual void __fastcall DoDropDown(void);
  159. virtual void __fastcall DoAfterDropDown(void);
  160. virtual void __fastcall CloseUp(bool Accept);
  161. virtual void __fastcall DataChange(System::TObject* Sender);
  162. virtual void __fastcall EditingChange(System::TObject* Sender);
  163. virtual void __fastcall HandleDropDownKeys(Word &Key, Classes::TShiftState Shift);
  164. virtual void __fastcall HandleGridKeys(Word &Key, Classes::TShiftState Shift);
  165. virtual void __fastcall Reset(void);
  166. virtual void __fastcall SetEditRect(void);
  167. virtual void __fastcall UpdateButtonPosition(void);
  168. virtual void __fastcall UpdateData(System::TObject* Sender);
  169. virtual bool __fastcall EffectiveReadOnly(void);
  170. virtual void __fastcall DoCloseUp(bool Accept);
  171. DYNAMIC void __fastcall DoEnter(void);
  172. virtual bool __fastcall SkipInheritedPaint(void);
  173. virtual int __fastcall GetRightIndent(const Windows::TRect &Rect);
  174. virtual int __fastcall GetTopIndent(void);
  175. DYNAMIC void __fastcall Change(void);
  176. virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  177. virtual void __fastcall CreateWnd(void);
  178. DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  179. DYNAMIC void __fastcall KeyPress(char &Key);
  180. virtual void __fastcall Loaded(void);
  181. DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  182. int Y);
  183. DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  184. virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  185. );
  186. virtual void __fastcall WndProc(Messages::TMessage &Message);
  187. virtual void __fastcall PaintToCanvas(Graphics::TCanvas* Canvas, const Windows::TRect &Rect, bool Highlight
  188. , bool GridPaint, AnsiString Text) = 0 ;
  189. virtual void __fastcall DrawFrame(Graphics::TCanvas* Canvas);
  190. virtual bool __fastcall IsCustom(void);
  191. void __fastcall InvalidateTransparentButton(void);
  192. virtual void __fastcall DoMouseEnter(void);
  193. virtual void __fastcall DoMouseLeave(void);
  194. __property Controls::TControlCanvas* Canvas = {read=FCanvas};
  195. __property Dbctrls::TFieldDataLink* DataLink = {read=FDataLink};
  196. __property Controls::TWinControl* DropDownContainer = {read=GetDropDownContainer};
  197. __property Controls::TWinControl* BtnParent = {read=FBtnParent};
  198. public:
  199. Variant ComboPatch;
  200. __property Classes::TComponent* Controller = {read=FController, write=SetController};
  201. __fastcall virtual TfcCustomCombo(Classes::TComponent* AOwner);
  202. __fastcall virtual ~TfcCustomCombo(void);
  203. bool __fastcall isTransparentEffective(void);
  204. HIDESBASE virtual void __fastcall SelectAll(void);
  205. virtual bool __fastcall IsDataBound(void);
  206. virtual bool __fastcall IsDroppedDown(void);
  207. virtual void __fastcall CheckCancelMode(void);
  208. virtual void __fastcall DrawInGridCell(Graphics::TCanvas* ACanvas, const Windows::TRect &Rect, Grids::TGridDrawState 
  209. State);
  210. virtual void __fastcall DropDown(void);
  211. __property TfcAlignVertical AlignmentVertical = {read=FAlignmentVertical, write=SetAlignmentVertical
  212. , default=0};
  213. __property bool AllowClearKey = {read=FAllowClearKey, write=FAllowClearKey, default=0};
  214. __property TfcDropDownButton* Button = {read=FButton};
  215. __property TfcComboButtonStyle ButtonStyle = {read=FButtonStyle, write=SetButtonStyle, nodefault};
  216. __property Graphics::TBitmap* ButtonGlyph = {read=GetButtonGlyph, write=SetButtonGlyph, stored=IsCustom
  217. };
  218. __property int ButtonWidth = {read=GetButtonWidth, write=SetButtonWidth, default=0};
  219. __property AnsiString DataField = {read=GetDataField, write=SetDataField};
  220. __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource};
  221. __property int DropDownCount = {read=FDropDownCount, write=SetDropDownCount, nodefault};
  222. __property Controls::TWinControl* DropDownControl = {read=GetDropDownControl};
  223. __property bool InfoPower = {read=FInfoPower, nodefault};
  224. __property int ItemCount = {read=GetItemCount, nodefault};
  225. __property tagSIZE ItemSize = {read=GetItemSize};
  226. __property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, nodefault};
  227. __property bool ShowButton = {read=GetShowButton, write=SetShowButton, default=1};
  228. __property TfcComboStyle Style = {read=FStyle, write=SetStyle, nodefault};
  229. __property Classes::TNotifyEvent OnCustomDlg = {read=FOnCustomDlg, write=FOnCustomDlg};
  230. __property TfcComboCloseUpEvent OnCloseUp = {read=FOnCloseUp, write=FOnCloseUp};
  231. __property Classes::TNotifyEvent OnDropDown = {read=FOnDropDown, write=FOnDropDown};
  232. __property Classes::TNotifyEvent OnAfterDropDown = {read=FOnAfterDropDown, write=FOnAfterDropDown};
  233. __property Classes::TNotifyEvent OnMouseEnter = {read=FOnMouseEnter, write=FOnMouseEnter};
  234. __property Classes::TNotifyEvent OnMouseLeave = {read=FOnMouseLeave, write=FOnMouseLeave};
  235. __property Fcframe::TfcEditFrame* Frame = {read=FFrame, write=FFrame};
  236. __property Fcframe::TfcButtonEffects* ButtonEffects = {read=FButtonEffects, write=FButtonEffects};
  237. __property bool DisableThemes = {read=FDisableThemes, write=FDisableThemes, default=0};
  238. public:
  239. #pragma option push -w-inl
  240. /* TWinControl.CreateParented */ inline __fastcall TfcCustomCombo(HWND ParentWindow) : Stdctrls::TCustomEdit(
  241. ParentWindow) { }
  242. #pragma option pop
  243. };
  244. //-- var, const, procedure ---------------------------------------------------
  245. extern PACKAGE TfcCustomCombo* __fastcall fcGetControlInGrid(Classes::TComponent* Form, Classes::TComponent* 
  246. Grid, AnsiString FieldName);
  247. } /* namespace Fccombo */
  248. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  249. using namespace Fccombo;
  250. #endif
  251. #pragma option pop // -w-
  252. #pragma option pop // -Vx
  253. #pragma delphiheader end.
  254. //-- end unit ----------------------------------------------------------------
  255. #endif // fcCombo