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

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) 'fccombobutton.pas' rev: 6.00
  5. #ifndef fccombobuttonHPP
  6. #define fccombobuttonHPP
  7. #pragma delphiheader begin
  8. #pragma option push -w-
  9. #pragma option push -Vx
  10. #include <ImgList.hpp> // Pascal unit
  11. #include <Menus.hpp> // Pascal unit
  12. #include <ActnList.hpp> // Pascal unit
  13. #include <fcCommon.hpp> // Pascal unit
  14. #include <Buttons.hpp> // Pascal unit
  15. #include <CommCtrl.hpp> // Pascal unit
  16. #include <ExtCtrls.hpp> // Pascal unit
  17. #include <StdCtrls.hpp> // Pascal unit
  18. #include <Graphics.hpp> // Pascal unit
  19. #include <Forms.hpp> // Pascal unit
  20. #include <Controls.hpp> // Pascal unit
  21. #include <Classes.hpp> // Pascal unit
  22. #include <Messages.hpp> // Pascal unit
  23. #include <Windows.hpp> // Pascal unit
  24. #include <SysInit.hpp> // Pascal unit
  25. #include <System.hpp> // Pascal unit
  26. //-- user supplied -----------------------------------------------------------
  27. namespace Fccombobutton
  28. {
  29. //-- type declarations -------------------------------------------------------
  30. class DELPHICLASS TfcComboButtonActionLink;
  31. class PASCALIMPLEMENTATION TfcComboButtonActionLink : public Controls::TControlActionLink 
  32. {
  33. typedef Controls::TControlActionLink inherited;
  34. protected:
  35. Buttons::TSpeedButton* FClient;
  36. virtual void __fastcall AssignClient(System::TObject* AClient);
  37. virtual bool __fastcall IsCheckedLinked(void);
  38. virtual bool __fastcall IsGroupIndexLinked(void);
  39. virtual void __fastcall SetGroupIndex(int Value);
  40. virtual void __fastcall SetChecked(bool Value);
  41. public:
  42. #pragma option push -w-inl
  43. /* TBasicActionLink.Create */ inline __fastcall virtual TfcComboButtonActionLink(System::TObject* AClient) : Controls::TControlActionLink(AClient) { }
  44. #pragma option pop
  45. #pragma option push -w-inl
  46. /* TBasicActionLink.Destroy */ inline __fastcall virtual ~TfcComboButtonActionLink(void) { }
  47. #pragma option pop
  48. };
  49. class DELPHICLASS TfcComboButton;
  50. class PASCALIMPLEMENTATION TfcComboButton : public Controls::TGraphicControl 
  51. {
  52. typedef Controls::TGraphicControl inherited;
  53. private:
  54. int FGroupIndex;
  55. bool FDown;
  56. bool FDragging;
  57. bool FAllowAllUp;
  58. Buttons::TButtonLayout FLayout;
  59. int FSpacing;
  60. bool FTransparent;
  61. int FMargin;
  62. bool FFlat;
  63. bool FMouseInControl;
  64. bool FEllipsis;
  65. void __fastcall GlyphChanged(System::TObject* Sender);
  66. void __fastcall UpdateExclusive(void);
  67. Graphics::TBitmap* __fastcall GetGlyph(void);
  68. void __fastcall SetGlyph(Graphics::TBitmap* Value);
  69. Buttons::TNumGlyphs __fastcall GetNumGlyphs(void);
  70. void __fastcall SetNumGlyphs(Buttons::TNumGlyphs Value);
  71. void __fastcall SetDown(bool Value);
  72. void __fastcall SetFlat(bool Value);
  73. void __fastcall SetAllowAllUp(bool Value);
  74. void __fastcall SetGroupIndex(int Value);
  75. void __fastcall SetLayout(Buttons::TButtonLayout Value);
  76. void __fastcall SetSpacing(int Value);
  77. void __fastcall SetTransparent(bool Value);
  78. void __fastcall SetMargin(int Value);
  79. void __fastcall UpdateTracking(void);
  80. HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message);
  81. HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
  82. MESSAGE void __fastcall CMButtonPressed(Messages::TMessage &Message);
  83. MESSAGE void __fastcall CMDialogChar(Messages::TWMKey &Message);
  84. HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  85. MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message);
  86. MESSAGE void __fastcall CMSysColorChange(Messages::TMessage &Message);
  87. HIDESBASE MESSAGE void __fastcall CMMouseEnter(Messages::TMessage &Message);
  88. HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message);
  89. protected:
  90. void *FGlyph;
  91. Buttons::TButtonState FState;
  92. DYNAMIC void __fastcall ActionChange(System::TObject* Sender, bool CheckDefaults);
  93. DYNAMIC TMetaClass* __fastcall GetActionLinkClass(void);
  94. DYNAMIC HPALETTE __fastcall GetPalette(void);
  95. virtual void __fastcall Loaded(void);
  96. DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  97. DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  98. DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  99. virtual void __fastcall Paint(void);
  100. __property bool MouseInControl = {read=FMouseInControl, nodefault};
  101. __property bool Ellipsis = {read=FEllipsis, write=FEllipsis, nodefault};
  102. public:
  103. __fastcall virtual TfcComboButton(Classes::TComponent* AOwner);
  104. __fastcall virtual ~TfcComboButton(void);
  105. DYNAMIC void __fastcall Click(void);
  106. __published:
  107. __property Action ;
  108. __property bool AllowAllUp = {read=FAllowAllUp, write=SetAllowAllUp, default=0};
  109. __property Anchors  = {default=3};
  110. __property BiDiMode ;
  111. __property Constraints ;
  112. __property int GroupIndex = {read=FGroupIndex, write=SetGroupIndex, default=0};
  113. __property bool Down = {read=FDown, write=SetDown, default=0};
  114. __property Caption ;
  115. __property Enabled  = {default=1};
  116. __property bool Flat = {read=FFlat, write=SetFlat, default=0};
  117. __property Font ;
  118. __property Graphics::TBitmap* Glyph = {read=GetGlyph, write=SetGlyph};
  119. __property Buttons::TButtonLayout Layout = {read=FLayout, write=SetLayout, default=0};
  120. __property int Margin = {read=FMargin, write=SetMargin, default=-1};
  121. __property Buttons::TNumGlyphs NumGlyphs = {read=GetNumGlyphs, write=SetNumGlyphs, default=1};
  122. __property ParentFont  = {default=1};
  123. __property ParentShowHint  = {default=1};
  124. __property ParentBiDiMode  = {default=1};
  125. __property PopupMenu ;
  126. __property ShowHint ;
  127. __property int Spacing = {read=FSpacing, write=SetSpacing, default=4};
  128. __property bool Transparent = {read=FTransparent, write=SetTransparent, default=1};
  129. __property Visible  = {default=1};
  130. __property OnClick ;
  131. __property OnDblClick ;
  132. __property OnMouseDown ;
  133. __property OnMouseMove ;
  134. __property OnMouseUp ;
  135. };
  136. class DELPHICLASS TGlyphList;
  137. class PASCALIMPLEMENTATION TGlyphList : public Controls::TImageList 
  138. {
  139. typedef Controls::TImageList inherited;
  140. private:
  141. Classes::TBits* Used;
  142. int FCount;
  143. int __fastcall AllocateIndex(void);
  144. public:
  145. __fastcall TGlyphList(int AWidth, int AHeight);
  146. __fastcall virtual ~TGlyphList(void);
  147. HIDESBASE int __fastcall AddMasked(Graphics::TBitmap* Image, Graphics::TColor MaskColor);
  148. HIDESBASE void __fastcall Delete(int Index);
  149. __property int Count = {read=FCount, nodefault};
  150. public:
  151. #pragma option push -w-inl
  152. /* TCustomImageList.Create */ inline __fastcall virtual TGlyphList(Classes::TComponent* AOwner) : Controls::TImageList(AOwner) { }
  153. #pragma option pop
  154. };
  155. class DELPHICLASS TfcComboButtonGlyph;
  156. class PASCALIMPLEMENTATION TfcComboButtonGlyph : public System::TObject 
  157. {
  158. typedef System::TObject inherited;
  159. private:
  160. Graphics::TBitmap* FOriginal;
  161. TGlyphList* FGlyphList;
  162. int FIndexs[4];
  163. Graphics::TColor FTransparentColor;
  164. Buttons::TNumGlyphs FNumGlyphs;
  165. Classes::TNotifyEvent FOnChange;
  166. Controls::TControl* FComboButton;
  167. void __fastcall GlyphChanged(System::TObject* Sender);
  168. void __fastcall SetGlyph(Graphics::TBitmap* Value);
  169. void __fastcall SetNumGlyphs(Buttons::TNumGlyphs Value);
  170. void __fastcall Invalidate(void);
  171. int __fastcall CreateButtonGlyph(Buttons::TButtonState State);
  172. void __fastcall DrawButtonGlyph(Graphics::TCanvas* Canvas, const Types::TPoint &GlyphPos, Buttons::TButtonState State, bool Transparent);
  173. void __fastcall DrawButtonText(Graphics::TCanvas* Canvas, const AnsiString Caption, const Types::TRect &TextBounds, Buttons::TButtonState State, int BiDiFlags);
  174. void __fastcall CalcButtonLayout(Graphics::TCanvas* Canvas, const Types::TRect &Client, const Types::TPoint &Offset, const AnsiString Caption, Buttons::TButtonLayout Layout, int Margin, int Spacing, Types::TPoint &GlyphPos, Types::TRect &TextBounds, int BiDiFlags);
  175. public:
  176. __property Controls::TControl* ComboButton = {read=FComboButton};
  177. __fastcall TfcComboButtonGlyph(Controls::TControl* AComboButton);
  178. __fastcall virtual ~TfcComboButtonGlyph(void);
  179. Types::TRect __fastcall Draw(Graphics::TCanvas* Canvas, const Types::TRect &Client, const Types::TPoint &Offset, const AnsiString Caption, Buttons::TButtonLayout Layout, int Margin, int Spacing, Buttons::TButtonState State, bool Transparent, int BiDiFlags);
  180. __property Graphics::TBitmap* Glyph = {read=FOriginal, write=SetGlyph};
  181. __property Buttons::TNumGlyphs NumGlyphs = {read=FNumGlyphs, write=SetNumGlyphs, nodefault};
  182. __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  183. };
  184. //-- var, const, procedure ---------------------------------------------------
  185. #pragma error Unsupported symbol type (23, fccombobutton)
  186. } /* namespace Fccombobutton */
  187. using namespace Fccombobutton;
  188. #pragma option pop // -w-
  189. #pragma option pop // -Vx
  190. #pragma delphiheader end.
  191. //-- end unit ----------------------------------------------------------------
  192. #endif // fccombobutton