fcStatusBar.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) 'fcStatusBar.pas' rev: 6.00
  5. #ifndef fcStatusBarHPP
  6. #define fcStatusBarHPP
  7. #pragma delphiheader begin
  8. #pragma option push -w-
  9. #pragma option push -Vx
  10. #include <ImgList.hpp> // Pascal unit
  11. #include <ComCtrls.hpp> // Pascal unit
  12. #include <fctext.hpp> // Pascal unit
  13. #include <fcCommon.hpp> // Pascal unit
  14. #include <fcCollection.hpp> // Pascal unit
  15. #include <StdCtrls.hpp> // Pascal unit
  16. #include <RichEdit.hpp> // Pascal unit
  17. #include <Menus.hpp> // Pascal unit
  18. #include <CommCtrl.hpp> // Pascal unit
  19. #include <Dialogs.hpp> // Pascal unit
  20. #include <Forms.hpp> // Pascal unit
  21. #include <Controls.hpp> // Pascal unit
  22. #include <Graphics.hpp> // Pascal unit
  23. #include <Classes.hpp> // Pascal unit
  24. #include <SysUtils.hpp> // Pascal unit
  25. #include <Messages.hpp> // Pascal unit
  26. #include <Windows.hpp> // Pascal unit
  27. #include <SysInit.hpp> // Pascal unit
  28. #include <System.hpp> // Pascal unit
  29. //-- user supplied -----------------------------------------------------------
  30. namespace Fcstatusbar
  31. {
  32. //-- type declarations -------------------------------------------------------
  33. class DELPHICLASS TfcStatusBarText;
  34. class DELPHICLASS TfcCustomStatusBar;
  35. class DELPHICLASS TfcStatusPanels;
  36. class DELPHICLASS TfcStatusPanel;
  37. #pragma option push -b-
  38. enum TfcStatusPanelStyle { psTextOnly, psControl, psOverWrite, psCapsLock, psNumLock, psDateTime, psDate, psTime, psGlyph, psRichEditStatus, psHint, psUserName, psComputerName, psScrollLock, psHintContainerOnly };
  39. #pragma option pop
  40. typedef TMetaClass* TfcStatusPanelClass;
  41. class PASCALIMPLEMENTATION TfcStatusPanels : public Fccollection::TfcCollection 
  42. {
  43. typedef Fccollection::TfcCollection inherited;
  44. public:
  45. TfcStatusPanel* operator[](int Index) { return Items[Index]; }
  46. private:
  47. TfcCustomStatusBar* FStatusBar;
  48. HIDESBASE TfcStatusPanel* __fastcall GetItem(int Index);
  49. HIDESBASE void __fastcall SetItem(int Index, TfcStatusPanel* Value);
  50. protected:
  51. virtual void __fastcall RedrawIfNeeded(TfcStatusPanelStyle StyleToCheck);
  52. DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
  53. virtual void __fastcall Update(Classes::TCollectionItem* Item);
  54. __property TfcCustomStatusBar* StatusBar = {read=FStatusBar};
  55. public:
  56. __fastcall TfcStatusPanels(TfcCustomStatusBar* StatusBar, TMetaClass* AStatusPanelClass);
  57. HIDESBASE TfcStatusPanel* __fastcall Add(void);
  58. TfcStatusPanel* __fastcall PanelByName(AnsiString AName);
  59. __property TfcStatusPanel* Items[int Index] = {read=GetItem, write=SetItem/*, default*/};
  60. public:
  61. #pragma option push -w-inl
  62. /* TfcCollection.Destroy */ inline __fastcall virtual ~TfcStatusPanels(void) { }
  63. #pragma option pop
  64. };
  65. typedef void __fastcall (__closure *TDrawKeyboardStateEvent)(TfcCustomStatusBar* StatusBar, TfcStatusPanel* StatusPanel, bool KeyIsOn, const Types::TRect &Rect, AnsiString &AText);
  66. typedef void __fastcall (__closure *TDrawPanelEvent)(TfcCustomStatusBar* StatusBar, TfcStatusPanel* Panel, const Types::TRect &Rect);
  67. typedef TMetaClass* TfcStatusPanelsClass;
  68. class PASCALIMPLEMENTATION TfcCustomStatusBar : public Controls::TWinControl 
  69. {
  70. typedef Controls::TWinControl inherited;
  71. private:
  72. Graphics::TCanvas* FCanvas;
  73. #pragma pack(push, 1)
  74. tagSIZE FLastSize;
  75. #pragma pack(pop)
  76. Imglist::TCustomImageList* FImageList;
  77. TfcStatusPanels* FPanels;
  78. bool FSimplePanel;
  79. AnsiString FSimpleText;
  80. bool FSizeGrip;
  81. bool FSizing;
  82. TDrawKeyboardStateEvent FOnDrawKeyboardState;
  83. TDrawPanelEvent FOnDrawPanel;
  84. TfcStatusBarText* FStatusBarText;
  85. bool FDisableThemes;
  86. void __fastcall SetPanels(TfcStatusPanels* Value);
  87. void __fastcall SetSimplePanel(bool Value);
  88. void __fastcall SetSimpleText(const AnsiString Value);
  89. void __fastcall SetSizeGrip(bool Value);
  90. bool __fastcall GetSizeGrip(void);
  91. HIDESBASE MESSAGE void __fastcall CMShowingChanged(Messages::TMessage &Message);
  92. MESSAGE void __fastcall CNDrawItem(Messages::TWMDrawItem &Message);
  93. HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
  94. HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  95. MESSAGE void __fastcall WMTimer(Messages::TWMTimer &Message);
  96. protected:
  97. virtual TMetaClass* __fastcall GetCollectionClass(void);
  98. DYNAMIC void __fastcall DrawPanel(TfcStatusPanel* Panel, const Types::TRect &Rect);
  99. DYNAMIC void __fastcall Resize(void);
  100. void __fastcall UpdatePanel(int Index, bool DoInvalidate);
  101. virtual void __fastcall UpdatePanels(void);
  102. DYNAMIC void __fastcall Click(void);
  103. virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  104. virtual void __fastcall CreateWnd(void);
  105. DYNAMIC void __fastcall DblClick(void);
  106. virtual void __fastcall DestroyWnd(void);
  107. virtual void __fastcall Loaded(void);
  108. DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  109. DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  110. DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  111. virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
  112. virtual void __fastcall WndProc(Messages::TMessage &Message);
  113. __property Graphics::TCanvas* Canvas = {read=FCanvas};
  114. public:
  115. Variant Patch;
  116. __fastcall virtual TfcCustomStatusBar(Classes::TComponent* AOwner);
  117. __fastcall virtual ~TfcCustomStatusBar(void);
  118. virtual void __fastcall Invalidate(void);
  119. virtual TfcStatusPanel* __fastcall GetPanelFromPt(int x, int y);
  120. void __fastcall ComponentExclusive(Classes::TComponent* Value, TfcStatusPanel* Panel, bool ThisStatusBarOnly);
  121. __property Imglist::TCustomImageList* Images = {read=FImageList, write=FImageList};
  122. __property TfcStatusPanels* Panels = {read=FPanels, write=SetPanels};
  123. __property bool SimplePanel = {read=FSimplePanel, write=SetSimplePanel, nodefault};
  124. __property AnsiString SimpleText = {read=FSimpleText, write=SetSimpleText};
  125. __property bool SizeGrip = {read=GetSizeGrip, write=SetSizeGrip, default=1};
  126. __property TDrawKeyboardStateEvent OnDrawKeyboardState = {read=FOnDrawKeyboardState, write=FOnDrawKeyboardState};
  127. __property TDrawPanelEvent OnDrawPanel = {read=FOnDrawPanel, write=FOnDrawPanel};
  128. __property TfcStatusBarText* StatusBarText = {read=FStatusBarText, write=FStatusBarText};
  129. __property bool DisableThemes = {read=FDisableThemes, write=FDisableThemes, default=0};
  130. public:
  131. #pragma option push -w-inl
  132. /* TWinControl.CreateParented */ inline __fastcall TfcCustomStatusBar(HWND ParentWindow) : Controls::TWinControl(ParentWindow) { }
  133. #pragma option pop
  134. };
  135. class PASCALIMPLEMENTATION TfcStatusBarText : public Classes::TPersistent 
  136. {
  137. typedef Classes::TPersistent inherited;
  138. private:
  139. TfcCustomStatusBar* FOwner;
  140. AnsiString FCapsLock;
  141. AnsiString FOverwrite;
  142. AnsiString FNumLock;
  143. AnsiString FScrollLock;
  144. void __fastcall SetCapsLock(AnsiString Value);
  145. void __fastcall SetOverwrite(AnsiString Value);
  146. void __fastcall SetNumLock(AnsiString Value);
  147. void __fastcall SetScrollLock(AnsiString Value);
  148. public:
  149. __fastcall TfcStatusBarText(TfcCustomStatusBar* AOwner);
  150. __published:
  151. __property AnsiString CapsLock = {read=FCapsLock, write=SetCapsLock};
  152. __property AnsiString Overwrite = {read=FOverwrite, write=SetOverwrite};
  153. __property AnsiString NumLock = {read=FNumLock, write=SetNumLock};
  154. __property AnsiString ScrollLock = {read=FScrollLock, write=SetScrollLock};
  155. public:
  156. #pragma option push -w-inl
  157. /* TPersistent.Destroy */ inline __fastcall virtual ~TfcStatusBarText(void) { }
  158. #pragma option pop
  159. };
  160. typedef TMetaClass* TfcCustomStatusBarClass;
  161. #pragma option push -b-
  162. enum TfcStatusPanelBevel { pbNone, pbLowered, pbRaised };
  163. #pragma option pop
  164. typedef void __fastcall (__closure *TfcPanelTextChangedEvent)(System::TObject* Sender, const AnsiString Text);
  165. typedef void __fastcall (__closure *TfcDrawTextEvent)(TfcStatusPanel* Panel, AnsiString &Text, bool &Enabled);
  166. class PASCALIMPLEMENTATION TfcStatusPanel : public Fccollection::TfcCollectionItem 
  167. {
  168. typedef Fccollection::TfcCollectionItem inherited;
  169. private:
  170. Graphics::TCanvas* FCanvas;
  171. int FCol;
  172. int FRow;
  173. TfcStatusPanelBevel FBevel;
  174. Graphics::TColor FColor;
  175. Classes::TComponent* FComponent;
  176. bool FEnabled;
  177. bool FDrawTextEnabled;
  178. bool FInDrawText;
  179. Graphics::TFont* FFont;
  180. AnsiString FHint;
  181. int FImageIndex;
  182. int FIndent;
  183. int FMargin;
  184. AnsiString FName;
  185. int FPaintWidth;
  186. Menus::TPopupMenu* FPopupMenu;
  187. TfcStatusPanelStyle FStyle;
  188. AnsiString FText;
  189. System::TDateTime FCurDateTime;
  190. Fctext::TfcCaptionText* FTextOptions;
  191. AnsiString FWidth;
  192. Classes::TNotifyEvent FOnClick;
  193. Classes::TNotifyEvent FOnDblClick;
  194. TfcDrawTextEvent FOnDrawText;
  195. Controls::TMouseEvent FOnMouseDown;
  196. Controls::TMouseMoveEvent FOnMouseMove;
  197. Controls::TMouseEvent FOnMouseUp;
  198. Classes::TNotifyEvent FOnSetName;
  199. TfcPanelTextChangedEvent FOnTextChanged;
  200. #pragma pack(push, 1)
  201. Types::TRect FRect;
  202. #pragma pack(pop)
  203. Controls::TControl* __fastcall GetControl(void);
  204. void __fastcall SetBevel(TfcStatusPanelBevel Value);
  205. void __fastcall SetColor(Graphics::TColor Value);
  206. void __fastcall SetComponent(Classes::TComponent* Value);
  207. void __fastcall SetEnabled(bool Value);
  208. void __fastcall SetFont(Graphics::TFont* Value);
  209. void __fastcall SetHint(AnsiString Value);
  210. void __fastcall SetImageIndex(int Value);
  211. void __fastcall SetIndent(int Value);
  212. void __fastcall SetMargin(int Value);
  213. void __fastcall SetName(const AnsiString Value);
  214. void __fastcall SetStyle(TfcStatusPanelStyle Value);
  215. void __fastcall SetText(const AnsiString Value);
  216. void __fastcall SetWidth(AnsiString Value);
  217. protected:
  218. virtual AnsiString __fastcall GenerateName();
  219. virtual AnsiString __fastcall GetDisplayName();
  220. virtual TfcCustomStatusBar* __fastcall GetStatusBar(void);
  221. virtual bool __fastcall StoreWidth(void);
  222. virtual void __fastcall FontChanged(System::TObject* Sender);
  223. virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
  224. virtual bool __fastcall GetTextEnabled(void);
  225. virtual void __fastcall AdjustBounds(void);
  226. virtual bool __fastcall DoDrawDateTime(void);
  227. virtual void __fastcall Draw(Graphics::TCanvas* ACanvas, const Types::TRect &ARect);
  228. virtual void __fastcall DrawControl(void);
  229. virtual void __fastcall DrawGlyph(void);
  230. virtual void __fastcall DrawKeyboardState(void);
  231. virtual void __fastcall DrawHint(void);
  232. virtual void __fastcall DrawUserName(void);
  233. virtual void __fastcall DrawComputerName(void);
  234. virtual void __fastcall DrawRichEditStatus(void);
  235. virtual void __fastcall DrawText(AnsiString AText, const Types::TRect &ARect, bool AEnabled);
  236. virtual void __fastcall AssignTo(Classes::TPersistent* Dest);
  237. DYNAMIC void __fastcall Click(void);
  238. DYNAMIC void __fastcall DblClick(void);
  239. DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  240. DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  241. DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  242. DYNAMIC void __fastcall PanelTextChanged(const AnsiString Text);
  243. __property Graphics::TCanvas* Canvas = {read=FCanvas};
  244. __property bool DrawTextEnabled = {read=FDrawTextEnabled, write=FDrawTextEnabled, nodefault};
  245. public:
  246. Variant Patch;
  247. __fastcall virtual TfcStatusPanel(Classes::TCollection* Collection);
  248. __fastcall virtual ~TfcStatusPanel(void);
  249. virtual Types::TPoint __fastcall ClientToScreen(const Types::TPoint &p);
  250. virtual Types::TRect __fastcall GetRect();
  251. virtual void __fastcall Invalidate(void);
  252. __property int Col = {read=FCol, nodefault};
  253. __property Controls::TControl* Control = {read=GetControl};
  254. __property int PaintWidth = {read=FPaintWidth, write=FPaintWidth, nodefault};
  255. __property int Row = {read=FRow, nodefault};
  256. __property TfcCustomStatusBar* StatusBar = {read=GetStatusBar};
  257. __property Classes::TNotifyEvent OnSetName = {read=FOnSetName, write=FOnSetName};
  258. __published:
  259. __property TfcStatusPanelBevel Bevel = {read=FBevel, write=SetBevel, default=1};
  260. __property Graphics::TColor Color = {read=FColor, write=SetColor, default=-16777201};
  261. __property Classes::TComponent* Component = {read=FComponent, write=SetComponent};
  262. __property bool Enabled = {read=FEnabled, write=SetEnabled, default=1};
  263. __property Graphics::TFont* Font = {read=FFont, write=SetFont};
  264. __property AnsiString Hint = {read=FHint, write=SetHint};
  265. __property int ImageIndex = {read=FImageIndex, write=SetImageIndex, default=0};
  266. __property int Indent = {read=FIndent, write=SetIndent, default=0};
  267. __property int Margin = {read=FMargin, write=SetMargin, default=0};
  268. __property AnsiString Name = {read=FName, write=SetName};
  269. __property Menus::TPopupMenu* PopupMenu = {read=FPopupMenu, write=FPopupMenu};
  270. __property TfcStatusPanelStyle Style = {read=FStyle, write=SetStyle, default=0};
  271. __property Tag ;
  272. __property AnsiString Text = {read=FText, write=SetText};
  273. __property Fctext::TfcCaptionText* TextOptions = {read=FTextOptions, write=FTextOptions};
  274. __property AnsiString Width = {read=FWidth, write=SetWidth, stored=StoreWidth};
  275. __property Classes::TNotifyEvent OnClick = {read=FOnClick, write=FOnClick};
  276. __property Classes::TNotifyEvent OnDblClick = {read=FOnDblClick, write=FOnDblClick};
  277. __property TfcDrawTextEvent OnDrawText = {read=FOnDrawText, write=FOnDrawText};
  278. __property Controls::TMouseEvent OnMouseDown = {read=FOnMouseDown, write=FOnMouseDown};
  279. __property Controls::TMouseMoveEvent OnMouseMove = {read=FOnMouseMove, write=FOnMouseMove};
  280. __property Controls::TMouseEvent OnMouseUp = {read=FOnMouseUp, write=FOnMouseUp};
  281. __property TfcPanelTextChangedEvent OnTextChanged = {read=FOnTextChanged, write=FOnTextChanged};
  282. };
  283. class DELPHICLASS TfcStatusBar;
  284. class PASCALIMPLEMENTATION TfcStatusBar : public TfcCustomStatusBar 
  285. {
  286. typedef TfcCustomStatusBar inherited;
  287. __published:
  288. __property DisableThemes  = {default=0};
  289. __property Anchors  = {default=3};
  290. __property Constraints ;
  291. __property Align  = {default=2};
  292. __property DragCursor  = {default=-12};
  293. __property DragMode  = {default=0};
  294. __property Enabled  = {default=1};
  295. __property Font ;
  296. __property Images ;
  297. __property Panels ;
  298. __property ParentFont  = {default=1};
  299. __property ParentShowHint  = {default=1};
  300. __property PopupMenu ;
  301. __property ShowHint ;
  302. __property SimplePanel ;
  303. __property SimpleText ;
  304. __property SizeGrip  = {default=1};
  305. __property StatusBarText ;
  306. __property Visible  = {default=1};
  307. __property OnClick ;
  308. __property OnDblClick ;
  309. __property OnDragDrop ;
  310. __property OnDragOver ;
  311. __property OnEndDrag ;
  312. __property OnMouseDown ;
  313. __property OnMouseMove ;
  314. __property OnMouseUp ;
  315. __property OnDrawKeyboardState ;
  316. __property OnDrawPanel ;
  317. __property OnResize ;
  318. __property OnStartDrag ;
  319. public:
  320. #pragma option push -w-inl
  321. /* TfcCustomStatusBar.Create */ inline __fastcall virtual TfcStatusBar(Classes::TComponent* AOwner) : TfcCustomStatusBar(AOwner) { }
  322. #pragma option pop
  323. #pragma option push -w-inl
  324. /* TfcCustomStatusBar.Destroy */ inline __fastcall virtual ~TfcStatusBar(void) { }
  325. #pragma option pop
  326. public:
  327. #pragma option push -w-inl
  328. /* TWinControl.CreateParented */ inline __fastcall TfcStatusBar(HWND ParentWindow) : TfcCustomStatusBar(ParentWindow) { }
  329. #pragma option pop
  330. };
  331. //-- var, const, procedure ---------------------------------------------------
  332. #pragma error Unsupported symbol type (23, fcStatusBar)
  333. static const Byte TIMER_ID = 0xc8;
  334. static const Word HINT_TIMER_ID = 0x12c;
  335. static const Word RICHEDIT_TIMER_ID = 0x190;
  336. } /* namespace Fcstatusbar */
  337. using namespace Fcstatusbar;
  338. #pragma option pop // -w-
  339. #pragma option pop // -Vx
  340. #pragma delphiheader end.
  341. //-- end unit ----------------------------------------------------------------
  342. #endif // fcStatusBar