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

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