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

Delphi控件源码

开发平台:

Delphi

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