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