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

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) 'fcButton.pas' rev: 5.00
  5. #ifndef fcButtonHPP
  6. #define fcButtonHPP
  7. #pragma delphiheader begin
  8. #pragma option push -w-
  9. #pragma option push -Vx
  10. #include <fctext.hpp> // Pascal unit
  11. #include <Variants.hpp> // Pascal unit
  12. #include <ActnList.hpp> // Pascal unit
  13. #include <ImgList.hpp> // Pascal unit
  14. #include <DB.hpp> // Pascal unit
  15. #include <DBCtrls.hpp> // Pascal unit
  16. #include <TypInfo.hpp> // Pascal unit
  17. #include <fcChangeLink.hpp> // Pascal unit
  18. #include <fcBitmap.hpp> // Pascal unit
  19. #include <fcCommon.hpp> // Pascal unit
  20. #include <SysUtils.hpp> // Pascal unit
  21. #include <Consts.hpp> // Pascal unit
  22. #include <Math.hpp> // Pascal unit
  23. #include <Dialogs.hpp> // Pascal unit
  24. #include <Buttons.hpp> // Pascal unit
  25. #include <CommCtrl.hpp> // Pascal unit
  26. #include <StdCtrls.hpp> // Pascal unit
  27. #include <Graphics.hpp> // Pascal unit
  28. #include <Forms.hpp> // Pascal unit
  29. #include <Controls.hpp> // Pascal unit
  30. #include <Classes.hpp> // Pascal unit
  31. #include <Messages.hpp> // Pascal unit
  32. #include <Windows.hpp> // Pascal unit
  33. #include <SysInit.hpp> // Pascal unit
  34. #include <System.hpp> // Pascal unit
  35. //-- user supplied -----------------------------------------------------------
  36. namespace Fcbutton
  37. {
  38. //-- type declarations -------------------------------------------------------
  39. #pragma option push -b-
  40. enum TfcShadeStyle { fbsNormal, fbsRaised, fbsHighlight, fbsFlat };
  41. #pragma option pop
  42. #pragma option push -b-
  43. enum TfcButtonOption { boFocusable, boOverrideActionGlyph, boToggleOnUp, boFocusRect, boAutoBold };
  44. #pragma option pop
  45. typedef Set<TfcButtonOption, boFocusable, boAutoBold>  TfcButtonOptions;
  46. typedef TMetaClass*TfcCustomBitBtnClass;
  47. #pragma pack(push, 4)
  48. struct TfcRegionData
  49. {
  50. int dwSize;
  51. _RGNDATA *rgnData;
  52. } ;
  53. #pragma pack(pop)
  54. typedef TfcRegionData *PfcRegionData;
  55. class DELPHICLASS TfcOffsets;
  56. class DELPHICLASS TfcCustomBitBtn;
  57. class PASCALIMPLEMENTATION TfcOffsets : public Classes::TPersistent 
  58. {
  59. typedef Classes::TPersistent inherited;
  60. private:
  61. Controls::TWinControl* FControl;
  62. int FGlyphX;
  63. int FGlyphY;
  64. int FTextX;
  65. int FTextY;
  66. int FTextDownX;
  67. int FTextDownY;
  68. void __fastcall SetGlyphX(int Value);
  69. void __fastcall SetGlyphY(int Value);
  70. void __fastcall SetTextX(int Value);
  71. void __fastcall SetTextY(int Value);
  72. protected:
  73. virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
  74. __property Controls::TWinControl* Control = {read=FControl};
  75. public:
  76. __fastcall TfcOffsets(TfcCustomBitBtn* Button);
  77. __published:
  78. __property int GlyphX = {read=FGlyphX, write=SetGlyphX, default=0};
  79. __property int GlyphY = {read=FGlyphY, write=SetGlyphY, default=0};
  80. __property int TextX = {read=FTextX, write=SetTextX, default=0};
  81. __property int TextY = {read=FTextY, write=SetTextY, default=0};
  82. __property int TextDownX = {read=FTextDownX, write=FTextDownX, default=1};
  83. __property int TextDownY = {read=FTextDownY, write=FTextDownY, default=1};
  84. public:
  85. #pragma option push -w-inl
  86. /* TPersistent.Destroy */ inline __fastcall virtual ~TfcOffsets(void) { }
  87. #pragma option pop
  88. };
  89. class DELPHICLASS TfcShadeColors;
  90. class PASCALIMPLEMENTATION TfcShadeColors : public Classes::TPersistent 
  91. {
  92. typedef Classes::TPersistent inherited;
  93. private:
  94. TfcCustomBitBtn* FButton;
  95. Graphics::TColor FBtnHighlight;
  96. Graphics::TColor FBtn3dLight;
  97. Graphics::TColor FBtnShadow;
  98. Graphics::TColor FBtnBlack;
  99. Graphics::TColor FBtnFocus;
  100. Graphics::TColor FShadow;
  101. void __fastcall SetBtn3DLight(Graphics::TColor Value);
  102. void __fastcall SetBtnBlack(Graphics::TColor Value);
  103. void __fastcall SetBtnHighlight(Graphics::TColor Value);
  104. void __fastcall SetBtnShadow(Graphics::TColor Value);
  105. void __fastcall SetBtnFocus(Graphics::TColor Value);
  106. void __fastcall SetShadow(Graphics::TColor Value);
  107. protected:
  108. virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
  109. public:
  110. __fastcall TfcShadeColors(TfcCustomBitBtn* Button);
  111. __published:
  112. __property Graphics::TColor Btn3DLight = {read=FBtn3dLight, write=SetBtn3DLight, default=-2147483626};
  113. __property Graphics::TColor BtnHighlight = {read=FBtnHighlight, write=SetBtnHighlight, default=-2147483628};
  114. __property Graphics::TColor BtnShadow = {read=FBtnShadow, write=SetBtnShadow, default=-2147483632};
  115. __property Graphics::TColor BtnBlack = {read=FBtnBlack, write=SetBtnBlack, default=0};
  116. __property Graphics::TColor BtnFocus = {read=FBtnFocus, write=SetBtnFocus, default=0};
  117. __property Graphics::TColor Shadow = {read=FShadow, write=SetShadow, default=0};
  118. public:
  119. #pragma option push -w-inl
  120. /* TPersistent.Destroy */ inline __fastcall virtual ~TfcShadeColors(void) { }
  121. #pragma option pop
  122. };
  123. class PASCALIMPLEMENTATION TfcCustomBitBtn : public Controls::TWinControl 
  124. {
  125. typedef Controls::TWinControl inherited;
  126. private:
  127. bool FActive;
  128. bool FAllowAllUp;
  129. bool FCancel;
  130. bool FDefault;
  131. bool FDown;
  132. Graphics::TBitmap* FGlyph;
  133. int FGroupIndex;
  134. bool FInMouseSendForMouseActivate;
  135. Buttons::TBitBtnKind FKind;
  136. Buttons::TButtonLayout FLayout;
  137. int FMargin;
  138. Controls::TModalResult FModalResult;
  139. Buttons::TNumGlyphs FNumGlyphs;
  140. HRGN FRegion;
  141. HRGN FLastRegion;
  142. TfcShadeColors* FShadeColors;
  143. TfcShadeStyle FShadeStyle;
  144. bool FShowFocusRect;
  145. int FSpacing;
  146. Buttons::TButtonStyle FStyle;
  147. Fctext::TfcCaptionText* FTextOptions;
  148. bool FSmoothFont;
  149. #pragma pack(push, 1)
  150. Types::TRect FGlyphRect;
  151. #pragma pack(pop)
  152. #pragma pack(push, 1)
  153. Types::TRect FTextRect;
  154. #pragma pack(pop)
  155. Classes::TNotifyEvent FOnMouseEnter;
  156. Classes::TNotifyEvent FOnMouseLeave;
  157. Classes::TNotifyEvent FOnSelChange;
  158. Classes::TNotifyEvent FOnSetName;
  159. Graphics::TCanvas* FCanvas;
  160. TfcOffsets* FOffsets;
  161. bool FModifiedGlyph;
  162. TfcButtonOptions FOptions;
  163. Classes::TList* FChangeLinks;
  164. Fcchangelink::TfcChangeLink* FChangeLink;
  165. bool FClicked;
  166. bool FInitialDown;
  167. Classes::TStringList* FEvents;
  168. bool FUseHalftonePalette;
  169. bool FShowDownAsUp;
  170. bool FHot;
  171. Dbctrls::TFieldDataLink* FDataLink;
  172. bool FDisableThemes;
  173. bool FStaticCaption;
  174. Buttons::TBitBtnKind __fastcall GetKind(void);
  175. void __fastcall SetAllowAllUp(bool Value);
  176. void __fastcall SetButtonDown(bool Value, bool CheckAllowAllUp, bool DoUpdateExclusive, bool DoInvalidate);
  177. void __fastcall SetDefault(bool Value);
  178. void __fastcall SetDown(bool Value);
  179. void __fastcall SetGlyph(Graphics::TBitmap* Value);
  180. void __fastcall SetGroupIndex(int Value);
  181. void __fastcall SetKind(Buttons::TBitBtnKind Value);
  182. void __fastcall SetLayout(Buttons::TButtonLayout Value);
  183. void __fastcall SetMargin(int Value);
  184. void __fastcall SetNumGlyphs(Buttons::TNumGlyphs Value);
  185. void __fastcall SetOptions(TfcButtonOptions Value);
  186. void __fastcall SetSpacing(int Value);
  187. void __fastcall SetShadeStyle(TfcShadeStyle Value);
  188. void __fastcall SetStyle(Buttons::TButtonStyle Value);
  189. HIDESBASE MESSAGE void __fastcall WMCancelMode(Messages::TWMNoParams &Message);
  190. MESSAGE void __fastcall CMGetDataLink(Messages::TMessage &Message);
  191. HIDESBASE MESSAGE void __fastcall CMDialogKey(Messages::TWMKey &Message);
  192. MESSAGE void __fastcall CMButtonPressed(Messages::TMessage &Message);
  193. HIDESBASE MESSAGE void __fastcall CMDialogChar(Messages::TWMKey &Message);
  194. HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
  195. HIDESBASE MESSAGE void __fastcall CMFocusChanged(Controls::TCMFocusChanged &Message);
  196. HIDESBASE MESSAGE void __fastcall CMMouseEnter(Messages::TMessage &Message);
  197. HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
  198. MESSAGE void __fastcall CNDrawItem(Messages::TWMDrawItem &Message);
  199. MESSAGE void __fastcall CNMeasureItem(Messages::TWMMeasureItem &Message);
  200. HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
  201. HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  202. MESSAGE void __fastcall WMMouseActivate(Messages::TWMMouseActivate &Message);
  203. HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  204. HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  205. void __fastcall ProcessMouseUp(int X, int Y, bool AMouseInControl, bool AClicked);
  206. void __fastcall ProcessMouseDown(void);
  207. AnsiString __fastcall GetDataField();
  208. Db::TDataSource* __fastcall GetDataSource(void);
  209. void __fastcall SetDataField(const AnsiString Value);
  210. void __fastcall SetDataSource(Db::TDataSource* Value);
  211. protected:
  212. TfcRegionData FDownRegionData;
  213. TfcRegionData FRegionData;
  214. bool FSelected;
  215. bool DisableButton;
  216. Db::TField* __fastcall GetField(void);
  217. virtual AnsiString __fastcall GetDBCaption();
  218. DYNAMIC HPALETTE __fastcall GetPalette(void);
  219. DYNAMIC void __fastcall ActionChange(System::TObject* Sender, bool CheckDefaults);
  220. virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
  221. virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  222. virtual void __fastcall CreateWnd(void);
  223. virtual void __fastcall DestroyWnd(void);
  224. virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
  225. virtual void __fastcall Loaded(void);
  226. DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  227. DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  228. DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  229. DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  230. virtual void __fastcall SetName(const AnsiString Value);
  231. void __fastcall GetEvents(const AnsiString s);
  232. virtual TfcOffsets* __fastcall CreateOffsets(void);
  233. virtual HRGN __fastcall CreateRegion(bool DoImplementation, bool Down);
  234. virtual Types::TRect __fastcall CalcButtonLayout(Graphics::TCanvas* Canvas, const Types::TRect &Client, Types::TRect &TextRect, Types::TRect &GlyphRect, const tagSIZE &TextSize);
  235. virtual int __fastcall GlyphWidth(void);
  236. virtual bool __fastcall IsCustom(void);
  237. virtual bool __fastcall IsCustomCaption(void);
  238. bool __fastcall MouseInControl(int X, int Y, bool AndClicked);
  239. virtual bool __fastcall StoreRegionData(void);
  240. virtual void __fastcall ChangeButtonDown(void);
  241. virtual void __fastcall CleanUp(void);
  242. virtual void __fastcall ClearRegion(PfcRegionData ARgnData);
  243. virtual void __fastcall DrawButtonGlyph(Graphics::TCanvas* Canvas, const Types::TPoint &GlyphPos);
  244. virtual void __fastcall DrawButtonText(Graphics::TCanvas* Canvas, const Types::TRect &TextBounds);
  245. virtual void __fastcall DrawItem(const tagDRAWITEMSTRUCT &DrawItemStruct);
  246. virtual void __fastcall GetDrawBitmap(Fcbitmap::TfcBitmap* DrawBitmap, bool ForRegion, TfcShadeStyle ShadeStyle, bool Down);
  247. virtual void __fastcall GlyphChanged(System::TObject* Sender);
  248. virtual void __fastcall NotifyChange(void);
  249. virtual void __fastcall NotifyChanging(void);
  250. virtual void __fastcall NotifyLoaded(void);
  251. virtual void __fastcall Paint(void);
  252. virtual void __fastcall Redraw(void);
  253. virtual void __fastcall ReadRegionData(Classes::TStream* Stream);
  254. virtual void __fastcall ReadDownRegionData(Classes::TStream* Stream);
  255. virtual void __fastcall SaveRegion(unsigned NewRegion, bool Down);
  256. virtual void __fastcall SelChange(void);
  257. virtual void __fastcall WndProc(Messages::TMessage &Message);
  258. virtual void __fastcall WriteRegionData(Classes::TStream* Stream);
  259. virtual void __fastcall WriteDownRegionData(Classes::TStream* Stream);
  260. virtual void __fastcall UpdateExclusive(void);
  261. virtual bool __fastcall UseRegions(void);
  262. __property bool Active = {read=FActive, nodefault};
  263. __property Graphics::TCanvas* Canvas = {read=FCanvas};
  264. __property Types::TRect GlyphRect = {read=FGlyphRect};
  265. __property Types::TRect TextRect = {read=FTextRect};
  266. __property bool InitalDown = {read=FInitialDown, nodefault};
  267. __property bool Clicked = {read=FClicked, nodefault};
  268. virtual void __fastcall DataChange(System::TObject* Sender);
  269. virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
  270. public:
  271. Variant BasePatch;
  272. __property HRGN Region = {read=FRegion, nodefault};
  273. __fastcall virtual TfcCustomBitBtn(Classes::TComponent* AOwner);
  274. __fastcall virtual ~TfcCustomBitBtn(void);
  275. virtual void __fastcall ApplyRegion(void);
  276. virtual void __fastcall InvalidateNotRegion(const bool Erase);
  277. virtual Types::TRect __fastcall Draw(Graphics::TCanvas* Canvas);
  278. virtual bool __fastcall IsMultipleRegions(void);
  279. DYNAMIC void __fastcall Click(void);
  280. virtual void __fastcall SizeToDefault(void);
  281. virtual void __fastcall UpdateShadeColors(Graphics::TColor Color);
  282. virtual void __fastcall RegisterChanges(Fcchangelink::TfcChangeLink* Value);
  283. virtual void __fastcall UnRegisterChanges(Fcchangelink::TfcChangeLink* Value);
  284. virtual bool __fastcall GetTextEnabled(void);
  285. virtual void __fastcall AdjustBounds(void);
  286. __property bool ShowDownAsUp = {read=FShowDownAsUp, write=FShowDownAsUp, default=0};
  287. __property bool StaticCaption = {read=FStaticCaption, write=FStaticCaption, default=0};
  288. __property bool AllowAllUp = {read=FAllowAllUp, write=SetAllowAllUp, default=0};
  289. __property bool Cancel = {read=FCancel, write=FCancel, default=0};
  290. __property Caption  = {stored=IsCustomCaption};
  291. __property Color ;
  292. __property bool Default = {read=FDefault, write=SetDefault, default=0};
  293. __property bool Down = {read=FDown, write=SetDown, default=0};
  294. __property Font ;
  295. __property TfcOffsets* Offsets = {read=FOffsets, write=FOffsets};
  296. __property Graphics::TBitmap* Glyph = {read=FGlyph, write=SetGlyph, stored=IsCustom};
  297. __property int GroupIndex = {read=FGroupIndex, write=SetGroupIndex, default=0};
  298. __property Buttons::TBitBtnKind Kind = {read=GetKind, write=SetKind, default=0};
  299. __property Buttons::TButtonLayout Layout = {read=FLayout, write=SetLayout, default=0};
  300. __property int Margin = {read=FMargin, write=SetMargin, default=-1};
  301. __property Controls::TModalResult ModalResult = {read=FModalResult, write=FModalResult, default=0};
  302. __property Buttons::TNumGlyphs NumGlyphs = {read=FNumGlyphs, write=SetNumGlyphs, stored=IsCustom, default=1};
  303. __property TfcButtonOptions Options = {read=FOptions, write=SetOptions, default=0};
  304. __property bool Selected = {read=FSelected, nodefault};
  305. __property TfcShadeColors* ShadeColors = {read=FShadeColors, write=FShadeColors};
  306. __property TfcShadeStyle ShadeStyle = {read=FShadeStyle, write=SetShadeStyle, nodefault};
  307. __property bool SmoothFont = {read=FSmoothFont, write=FSmoothFont, default=0};
  308. __property Buttons::TButtonStyle Style = {read=FStyle, write=SetStyle, default=0};
  309. __property int Spacing = {read=FSpacing, write=SetSpacing, default=4};
  310. __property TabStop ;
  311. __property Fctext::TfcCaptionText* TextOptions = {read=FTextOptions, write=FTextOptions};
  312. __property OnClick ;
  313. __property Classes::TNotifyEvent OnMouseEnter = {read=FOnMouseEnter, write=FOnMouseEnter};
  314. __property Classes::TNotifyEvent OnMouseLeave = {read=FOnMouseLeave, write=FOnMouseLeave};
  315. __property Classes::TNotifyEvent OnSelChange = {read=FOnSelChange, write=FOnSelChange};
  316. __property Classes::TNotifyEvent OnSetName = {read=FOnSetName, write=FOnSetName};
  317. __property bool UseHalftonePalette = {read=FUseHalftonePalette, write=FUseHalftonePalette, nodefault};
  318. __property bool Hot = {read=FHot, write=FHot, nodefault};
  319. __property AnsiString DataField = {read=GetDataField, write=SetDataField};
  320. __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource};
  321. __property Dbctrls::TFieldDataLink* DataLink = {read=FDataLink};
  322. __property Db::TField* Field = {read=GetField};
  323. __property bool DisableThemes = {read=FDisableThemes, write=FDisableThemes, default=0};
  324. public:
  325. #pragma option push -w-inl
  326. /* TWinControl.CreateParented */ inline __fastcall TfcCustomBitBtn(HWND ParentWindow) : Controls::TWinControl(ParentWindow) { }
  327. #pragma option pop
  328. };
  329. //-- var, const, procedure ---------------------------------------------------
  330. static const Shortint DESIGN_KEY = 0x12;
  331. } /* namespace Fcbutton */
  332. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  333. using namespace Fcbutton;
  334. #endif
  335. #pragma option pop // -w-
  336. #pragma option pop // -Vx
  337. #pragma delphiheader end.
  338. //-- end unit ----------------------------------------------------------------
  339. #endif // fcButton