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