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

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) 'fcShapeBtn.pas' rev: 5.00
  5. #ifndef fcShapeBtnHPP
  6. #define fcShapeBtnHPP
  7. #pragma delphiheader begin
  8. #pragma option push -w-
  9. #pragma option push -Vx
  10. #include <Menus.hpp> // Pascal unit
  11. #include <DB.hpp> // Pascal unit
  12. #include <ActnList.hpp> // Pascal unit
  13. #include <ImgList.hpp> // Pascal unit
  14. #include <fcBitmap.hpp> // Pascal unit
  15. #include <fcEvaluator.hpp> // Pascal unit
  16. #include <fcImgBtn.hpp> // Pascal unit
  17. #include <fcButton.hpp> // Pascal unit
  18. #include <fctext.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 Fcshapebtn
  37. {
  38. //-- type declarations -------------------------------------------------------
  39. #pragma option push -b-
  40. enum TfcShapeOrientation { soLeft, soRight, soUp, soDown };
  41. #pragma option pop
  42. #pragma option push -b-
  43. enum TfcButtonShape { bsRoundRect, bsEllipse, bsTriangle, bsArrow, bsDiamond, bsRect, bsStar, bsTrapezoid, bsCustom };
  44. #pragma option pop
  45. typedef void __fastcall (__closure *TwwComputeCanvasAttributes)(System::TObject* Sender, Graphics::TCanvas* ACanvas);
  46. class DELPHICLASS TfcCustomShapeBtn;
  47. class PASCALIMPLEMENTATION TfcCustomShapeBtn : public Fcimgbtn::TfcCustomImageBtn 
  48. {
  49. typedef Fcimgbtn::TfcCustomImageBtn inherited;
  50. private:
  51. Classes::TStringList* FPointList;
  52. TfcButtonShape FShape;
  53. TfcShapeOrientation FOrientation;
  54. int FRoundRectBias;
  55. Graphics::TBitmap* FRegionBitmap;
  56. TwwComputeCanvasAttributes FOnComputeCanvasAttributes;
  57. void __fastcall SetShape(TfcButtonShape Value);
  58. void __fastcall SetOrientation(TfcShapeOrientation Value);
  59. void __fastcall SetPointList(Classes::TStringList* Value);
  60. void __fastcall SetRoundRectBias(int Value);
  61. Graphics::TColor __fastcall CorrectedColor(void);
  62. protected:
  63. virtual void __fastcall DoComputeCanvasAttributes(Graphics::TCanvas* ACanvas);
  64. virtual void __fastcall WndProc(Messages::TMessage &Message);
  65. virtual bool __fastcall StoreRegionData(void);
  66. Graphics::TColor __fastcall UnusableColor(void);
  67. virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
  68. HIDESBASE void __fastcall Draw3dLines(Fcbitmap::TfcBitmap* Bitmap, const Types::TPoint * PointList, const int PointList_Size, int NumPoints, Graphics::TColor TransColor);
  69. void __fastcall SetPointToOrientation(Fccommon::PfcPolyGonPoints Points, int NumPoints, TfcShapeOrientation Orientation, const tagSIZE &Size);
  70. int __fastcall GetCustomPoints(Fccommon::PfcPolyGonPoints &Points, const tagSIZE &Size);
  71. int __fastcall GetStarPoints(Fccommon::PfcPolyGonPoints &Points, const tagSIZE &Size);
  72. int __fastcall GetPolygonPoints(Fccommon::PfcPolyGonPoints &Points);
  73. virtual HRGN __fastcall CreateRegion(bool DoImplementation, bool Down);
  74. DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  75. virtual bool __fastcall UseRegions(void);
  76. __property Graphics::TBitmap* RegionBitmap = {read=FRegionBitmap, write=FRegionBitmap};
  77. public:
  78. Variant Patch;
  79. __fastcall virtual TfcCustomShapeBtn(Classes::TComponent* AOwner);
  80. __fastcall virtual ~TfcCustomShapeBtn(void);
  81. virtual bool __fastcall IsMultipleRegions(void);
  82. virtual bool __fastcall RoundShape(void);
  83. virtual void __fastcall GetDrawBitmap(Fcbitmap::TfcBitmap* DrawBitmap, bool ForRegion, Fcbutton::TfcShadeStyle ShadeStyle, bool Down);
  84. virtual void __fastcall SizeToDefault(void);
  85. __property TfcShapeOrientation Orientation = {read=FOrientation, write=SetOrientation, default=2};
  86. __property Classes::TStringList* PointList = {read=FPointList, write=SetPointList};
  87. __property int RoundRectBias = {read=FRoundRectBias, write=SetRoundRectBias, default=0};
  88. __property TfcButtonShape Shape = {read=FShape, write=SetShape, default=5};
  89. __property TwwComputeCanvasAttributes OnComputeCanvasAttributes = {read=FOnComputeCanvasAttributes, write=FOnComputeCanvasAttributes};
  90. public:
  91. #pragma option push -w-inl
  92. /* TWinControl.CreateParented */ inline __fastcall TfcCustomShapeBtn(HWND ParentWindow) : Fcimgbtn::TfcCustomImageBtn(ParentWindow) { }
  93. #pragma option pop
  94. };
  95. class DELPHICLASS TfcShapeBtn;
  96. class PASCALIMPLEMENTATION TfcShapeBtn : public TfcCustomShapeBtn 
  97. {
  98. typedef TfcCustomShapeBtn inherited;
  99. __published:
  100. __property Action ;
  101. __property Anchors ;
  102. __property Constraints ;
  103. __property StaticCaption ;
  104. __property AllowAllUp ;
  105. __property Cancel ;
  106. __property Caption ;
  107. __property Color ;
  108. __property Default ;
  109. __property DitherColor ;
  110. __property Down ;
  111. __property DragCursor ;
  112. __property DataSource ;
  113. __property DataField ;
  114. __property DragKind ;
  115. __property DragMode ;
  116. __property Font ;
  117. __property Enabled ;
  118. __property Glyph ;
  119. __property GroupIndex ;
  120. __property Kind ;
  121. __property Layout ;
  122. __property Margin ;
  123. __property ModalResult ;
  124. __property NumGlyphs ;
  125. __property Options ;
  126. __property Offsets ;
  127. __property Orientation ;
  128. __property ParentClipping ;
  129. __property ParentFont ;
  130. __property ParentShowHint ;
  131. __property PointList ;
  132. __property PopupMenu ;
  133. __property RoundRectBias ;
  134. __property ShadeColors ;
  135. __property ShadeStyle ;
  136. __property Shape ;
  137. __property ShowHint ;
  138. __property SmoothFont ;
  139. __property Spacing ;
  140. __property Style ;
  141. __property TabOrder ;
  142. __property TabStop ;
  143. __property TextOptions ;
  144. __property Visible ;
  145. __property OnClick ;
  146. __property OnDragDrop ;
  147. __property OnDragOver ;
  148. __property OnEndDrag ;
  149. __property OnEnter ;
  150. __property OnExit ;
  151. __property OnKeyDown ;
  152. __property OnKeyPress ;
  153. __property OnKeyUp ;
  154. __property OnMouseDown ;
  155. __property OnMouseEnter ;
  156. __property OnMouseLeave ;
  157. __property OnMouseMove ;
  158. __property OnMouseUp ;
  159. __property OnSelChange ;
  160. __property OnStartDrag ;
  161. __property OnComputeCanvasAttributes ;
  162. __property DisableThemes ;
  163. public:
  164. #pragma option push -w-inl
  165. /* TfcCustomShapeBtn.Create */ inline __fastcall virtual TfcShapeBtn(Classes::TComponent* AOwner) : TfcCustomShapeBtn(AOwner) { }
  166. #pragma option pop
  167. #pragma option push -w-inl
  168. /* TfcCustomShapeBtn.Destroy */ inline __fastcall virtual ~TfcShapeBtn(void) { }
  169. #pragma option pop
  170. public:
  171. #pragma option push -w-inl
  172. /* TWinControl.CreateParented */ inline __fastcall TfcShapeBtn(HWND ParentWindow) : TfcCustomShapeBtn(ParentWindow) { }
  173. #pragma option pop
  174. };
  175. //-- var, const, procedure ---------------------------------------------------
  176. static const int DEFUNUSECOLOR = 0xff;
  177. static const int DEFUNUSECOLOR2 = 0xff0000;
  178. } /* namespace Fcshapebtn */
  179. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  180. using namespace Fcshapebtn;
  181. #endif
  182. #pragma option pop // -w-
  183. #pragma option pop // -Vx
  184. #pragma delphiheader end.
  185. //-- end unit ----------------------------------------------------------------
  186. #endif // fcShapeBtn