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

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