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

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) 'fcOutlookList.pas' rev: 6.00
  5. #ifndef fcOutlookListHPP
  6. #define fcOutlookListHPP
  7. #pragma delphiheader begin
  8. #pragma option push -w-
  9. #pragma option push -Vx
  10. #include <Menus.hpp> // Pascal unit
  11. #include <ExtCtrls.hpp> // Pascal unit
  12. #include <ImgList.hpp> // Pascal unit
  13. #include <Themes.hpp> // Pascal unit
  14. #include <ActnList.hpp> // Pascal unit
  15. #include <fcImager.hpp> // Pascal unit
  16. #include <fcClearPanel.hpp> // Pascal unit
  17. #include <fcCollection.hpp> // Pascal unit
  18. #include <Buttons.hpp> // Pascal unit
  19. #include <CommCtrl.hpp> // Pascal unit
  20. #include <fcCommon.hpp> // Pascal unit
  21. #include <fccustomdraw.hpp> // Pascal unit
  22. #include <ComCtrls.hpp> // Pascal unit
  23. #include <Dialogs.hpp> // Pascal unit
  24. #include <Forms.hpp> // Pascal unit
  25. #include <Controls.hpp> // Pascal unit
  26. #include <Graphics.hpp> // Pascal unit
  27. #include <Classes.hpp> // Pascal unit
  28. #include <SysUtils.hpp> // Pascal unit
  29. #include <Messages.hpp> // Pascal unit
  30. #include <Windows.hpp> // Pascal unit
  31. #include <SysInit.hpp> // Pascal unit
  32. #include <System.hpp> // Pascal unit
  33. //-- user supplied -----------------------------------------------------------
  34. namespace Fcoutlooklist
  35. {
  36. //-- type declarations -------------------------------------------------------
  37. #pragma option push -b-
  38. enum TfcScrollButtonStyle { sbNone, sbUp, sbDown };
  39. #pragma option pop
  40. class DELPHICLASS TfcOutlookPanel;
  41. class PASCALIMPLEMENTATION TfcOutlookPanel : public Controls::TCustomControl 
  42. {
  43. typedef Controls::TCustomControl inherited;
  44. private:
  45. bool FAnimating;
  46. bool FTransparent;
  47. bool FInEraseBkGnd;
  48. Classes::TPersistent* FOutlookPage;
  49. void __fastcall SetTransparent(bool Value);
  50. HIDESBASE MESSAGE void __fastcall CMControlListChange(Controls::TCMControlListChange &Message);
  51. HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
  52. protected:
  53. virtual void __fastcall AlignControls(Controls::TControl* AControl, Types::TRect &Rect);
  54. virtual void __fastcall Paint(void);
  55. virtual void __fastcall WndProc(Messages::TMessage &Message);
  56. public:
  57. bool FPreventUpdate;
  58. __fastcall virtual TfcOutlookPanel(Classes::TComponent* AOwner);
  59. __fastcall virtual ~TfcOutlookPanel(void);
  60. __property bool Animating = {read=FAnimating, write=FAnimating, nodefault};
  61. __property Classes::TPersistent* OutlookPage = {read=FOutlookPage, write=FOutlookPage};
  62. __property bool Transparent = {read=FTransparent, write=SetTransparent, nodefault};
  63. public:
  64. #pragma option push -w-inl
  65. /* TWinControl.CreateParented */ inline __fastcall TfcOutlookPanel(HWND ParentWindow) : Controls::TCustomControl(ParentWindow) { }
  66. #pragma option pop
  67. };
  68. class DELPHICLASS TfcCustomOutlookList;
  69. class DELPHICLASS TfcOutlookListItem;
  70. typedef void __fastcall (__closure *TfcCustomOutlookListItemEvent)(TfcCustomOutlookList* OutlookList, TfcOutlookListItem* Item);
  71. typedef void __fastcall (__closure *TfcOutlookListDrawItemEvent)(TfcCustomOutlookList* OutlookList, TfcOutlookListItem* Item, Types::TPoint &GlyphPos, Types::TPoint &TextPos, bool &DefaultDrawing);
  72. class DELPHICLASS TfcOutlookItemActionLink;
  73. class PASCALIMPLEMENTATION TfcOutlookItemActionLink : public Actnlist::TActionLink 
  74. {
  75. typedef Actnlist::TActionLink inherited;
  76. protected:
  77. TfcOutlookListItem* FItem;
  78. virtual void __fastcall AssignClient(System::TObject* AClient);
  79. virtual bool __fastcall IsCaptionLinked(void);
  80. virtual bool __fastcall IsEnabledLinked(void);
  81. virtual bool __fastcall IsHintLinked(void);
  82. virtual bool __fastcall IsVisibleLinked(void);
  83. virtual bool __fastcall IsOnExecuteLinked(void);
  84. virtual void __fastcall SetCaption(const AnsiString Value);
  85. virtual void __fastcall SetEnabled(bool Value);
  86. virtual void __fastcall SetHint(const AnsiString Value);
  87. virtual void __fastcall SetVisible(bool Value);
  88. public:
  89. #pragma option push -w-inl
  90. /* TBasicActionLink.Create */ inline __fastcall virtual TfcOutlookItemActionLink(System::TObject* AClient) : Actnlist::TActionLink(AClient) { }
  91. #pragma option pop
  92. #pragma option push -w-inl
  93. /* TBasicActionLink.Destroy */ inline __fastcall virtual ~TfcOutlookItemActionLink(void) { }
  94. #pragma option pop
  95. };
  96. typedef TMetaClass* TfcOutlookItemActionLinkClass;
  97. class PASCALIMPLEMENTATION TfcOutlookListItem : public Fccollection::TfcCollectionItem 
  98. {
  99. typedef Fccollection::TfcCollectionItem inherited;
  100. private:
  101. TfcOutlookItemActionLink* FActionLink;
  102. #pragma pack(push, 1)
  103. Types::TRect FButtonRect;
  104. #pragma pack(pop)
  105. #pragma pack(push, 1)
  106. Types::TRect FItemRect;
  107. #pragma pack(pop)
  108. int FImageIndex;
  109. bool FMouseDownOnItem;
  110. bool FMouseOnItem;
  111. bool FSelected;
  112. int FSeparation;
  113. AnsiString FText;
  114. Classes::TAlignment FTextAlignment;
  115. int FGlyphOffset;
  116. TfcCustomOutlookListItemEvent FOnClick;
  117. bool FEnabled;
  118. bool FVisible;
  119. AnsiString FHint;
  120. bool __fastcall GetSelected(void);
  121. TfcCustomOutlookList* __fastcall GetOutlookList(void);
  122. void __fastcall SetImageIndex(int Value);
  123. void __fastcall SetMouseDownOnItem(bool Value);
  124. void __fastcall SetMouseOnItem(bool Value);
  125. void __fastcall SetSeparation(int Value);
  126. void __fastcall SetSelected(bool Value);
  127. void __fastcall SetText(AnsiString Value);
  128. void __fastcall SetGlyphOffset(int Value);
  129. void __fastcall SetTextAlignment(Classes::TAlignment Value);
  130. Classes::TBasicAction* __fastcall GetAction(void);
  131. void __fastcall SetAction(Classes::TBasicAction* Value);
  132. void __fastcall DoActionChange(System::TObject* Sender);
  133. void __fastcall SetEnabled(bool Value);
  134. void __fastcall SetVisible(bool Value);
  135. void __fastcall SetHint(AnsiString Value);
  136. protected:
  137. tagSIZE __fastcall GetItemSize(bool IncludePadding);
  138. virtual bool __fastcall IsVisible(bool Completely);
  139. virtual int __fastcall SpacingSize(void);
  140. virtual void __fastcall Paint(void);
  141. virtual void __fastcall PaintButton(const Types::TRect &IconRect);
  142. virtual AnsiString __fastcall GetDisplayName();
  143. __property Types::TRect ButtonRect = {read=FButtonRect};
  144. __property TfcOutlookItemActionLink* ActionLink = {read=FActionLink, write=FActionLink};
  145. DYNAMIC void __fastcall ActionChange(System::TObject* Sender, bool CheckDefaults);
  146. public:
  147. __fastcall virtual TfcOutlookListItem(Classes::TCollection* Collection);
  148. __fastcall virtual ~TfcOutlookListItem(void);
  149. Types::TRect __fastcall DisplayRect(Comctrls::TDisplayCode Code, int AStartPos);
  150. virtual bool __fastcall IsDown(void);
  151. virtual void __fastcall Invalidate(bool Erase);
  152. __property Types::TRect ItemRect = {read=FItemRect};
  153. __property bool MouseDownOnItem = {read=FMouseDownOnItem, write=SetMouseDownOnItem, nodefault};
  154. __property bool MouseOnItem = {read=FMouseOnItem, write=SetMouseOnItem, nodefault};
  155. __property TfcCustomOutlookList* OutlookList = {read=GetOutlookList};
  156. __published:
  157. __property Classes::TBasicAction* Action = {read=GetAction, write=SetAction};
  158. __property int ImageIndex = {read=FImageIndex, write=SetImageIndex, nodefault};
  159. __property bool Selected = {read=GetSelected, write=SetSelected, nodefault};
  160. __property int Separation = {read=FSeparation, write=SetSeparation, nodefault};
  161. __property Tag ;
  162. __property AnsiString Text = {read=FText, write=SetText};
  163. __property TfcCustomOutlookListItemEvent OnClick = {read=FOnClick, write=FOnClick};
  164. __property Classes::TAlignment TextAlignment = {read=FTextAlignment, write=SetTextAlignment, default=2};
  165. __property int GlyphOffset = {read=FGlyphOffset, write=SetGlyphOffset, default=0};
  166. __property bool Enabled = {read=FEnabled, write=SetEnabled, default=1};
  167. __property bool Visible = {read=FVisible, write=SetVisible, default=1};
  168. __property AnsiString Hint = {read=FHint, write=SetHint};
  169. };
  170. typedef TMetaClass* TfcOutlookListItemClass;
  171. class DELPHICLASS TfcOutlookListItems;
  172. class PASCALIMPLEMENTATION TfcOutlookListItems : public Fccollection::TfcCollection 
  173. {
  174. typedef Fccollection::TfcCollection inherited;
  175. public:
  176. TfcOutlookListItem* operator[](int Index) { return Items[Index]; }
  177. private:
  178. TfcCustomOutlookList* FOutlookList;
  179. protected:
  180. DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
  181. HIDESBASE TfcOutlookListItem* __fastcall GetItems(int Index);
  182. virtual void __fastcall Update(Classes::TCollectionItem* Item);
  183. public:
  184. __fastcall virtual TfcOutlookListItems(TfcCustomOutlookList* AOutlookList, TMetaClass* ACollectionItemClass);
  185. HIDESBASE TfcOutlookListItem* __fastcall Add(void);
  186. virtual Fccollection::TfcCollectionItem* __fastcall AddItem(void);
  187. __property TfcCustomOutlookList* OutlookList = {read=FOutlookList};
  188. __property TfcOutlookListItem* Items[int Index] = {read=GetItems/*, default*/};
  189. public:
  190. #pragma option push -w-inl
  191. /* TfcCollection.Destroy */ inline __fastcall virtual ~TfcOutlookListItems(void) { }
  192. #pragma option pop
  193. };
  194. #pragma option push -b-
  195. enum TfcOutlookHotTrackStyle { hsIconHilite, hsItemHilite };
  196. #pragma option pop
  197. #pragma option push -b-
  198. enum TfcCustomOutlookListClickStyle { csClick, csSelect };
  199. #pragma option pop
  200. class PASCALIMPLEMENTATION TfcCustomOutlookList : public TfcOutlookPanel 
  201. {
  202. typedef TfcOutlookPanel inherited;
  203. private:
  204. Forms::TFormBorderStyle FBorderStyle;
  205. TfcCustomOutlookListClickStyle FClickStyle;
  206. TfcOutlookHotTrackStyle FHotTrackStyle;
  207. Graphics::TColor FHotTrackTextColor;
  208. Graphics::TColor FItemDisabledTextColor;
  209. Imglist::TCustomImageList* FImageList;
  210. Buttons::TButtonLayout FItemLayout;
  211. Graphics::TColor FItemHighlightColor;
  212. Graphics::TColor FItemHotTrackColor;
  213. Graphics::TColor FItemShadowColor;
  214. TfcOutlookListItems* FItems;
  215. int FItemSpacing;
  216. int FItemsWidth;
  217. Fccommon::TfcLayout FLayout;
  218. Graphics::TBitmap* FPaintBitmap;
  219. int FScrollInterval;
  220. TfcCustomOutlookListItemEvent FOnItemClick;
  221. TfcCustomOutlookListItemEvent FOnItemChange;
  222. TfcOutlookListDrawItemEvent FOnDrawItem;
  223. TfcOutlookListItem* FTopItem;
  224. #pragma pack(push, 1)
  225. Types::TRect FUpButtonRect;
  226. #pragma pack(pop)
  227. #pragma pack(push, 1)
  228. Types::TRect FDownButtonRect;
  229. #pragma pack(pop)
  230. TfcScrollButtonStyle FScrollButtonDown;
  231. bool FScrollButtonsVisible;
  232. TfcScrollButtonStyle FMouseInScrollButton;
  233. Imglist::TChangeLink* FChangeLink;
  234. HWND FOldCapture;
  235. Classes::TPersistent* FOutlookPage;
  236. Graphics::TColor FItemSelectedDitherColor;
  237. Controls::THintWindow* HintWindow;
  238. int HintTimerCount;
  239. Extctrls::TTimer* HintTimer;
  240. void __fastcall HintTimerEvent(System::TObject* Sender);
  241. void __fastcall FreeHintWindow(void);
  242. TfcOutlookListItem* __fastcall GetListItems(int Index);
  243. TfcOutlookListItem* __fastcall GetBottomItem(void);
  244. Graphics::TCanvas* __fastcall GetPaintCanvas(void);
  245. TfcOutlookListItem* __fastcall GetSelected(void);
  246. TfcOutlookListItem* __fastcall GetTopItem(void);
  247. void __fastcall SetBorderStyle(Forms::TBorderStyle Value);
  248. void __fastcall SetClickStyle(TfcCustomOutlookListClickStyle Value);
  249. void __fastcall SetImageList(Imglist::TCustomImageList* Value);
  250. void __fastcall SetItemHighlightColor(Graphics::TColor Value);
  251. void __fastcall SetItemDisabledTextColor(Graphics::TColor Value);
  252. void __fastcall SetItemLayout(Buttons::TButtonLayout Value);
  253. void __fastcall SetItemShadowColor(Graphics::TColor Value);
  254. void __fastcall SetItems(TfcOutlookListItems* Value);
  255. void __fastcall SetItemSpacing(int Value);
  256. void __fastcall SetItemsWidth(int Value);
  257. void __fastcall SetLayout(Fccommon::TfcLayout Value);
  258. void __fastcall SetMouseInScrollButton(TfcScrollButtonStyle Value);
  259. void __fastcall SetScrollButtonsVisible(bool Value);
  260. void __fastcall SetTopItem(TfcOutlookListItem* Value);
  261. Fcimager::TfcCustomImager* __fastcall GetImager(void);
  262. bool __fastcall IsEffectiveItemHilite(void);
  263. HIDESBASE MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &Message);
  264. HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
  265. HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  266. MESSAGE void __fastcall WMTimer(Messages::TWMTimer &Message);
  267. HIDESBASE MESSAGE void __fastcall CNChar(Messages::TWMKey &Message);
  268. protected:
  269. virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  270. virtual void __fastcall Loaded(void);
  271. DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  272. DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y);
  273. DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  274. virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
  275. virtual void __fastcall Paint(void);
  276. virtual void __fastcall UpdateButtonRects(void);
  277. DYNAMIC void __fastcall ValidateInsert(Classes::TComponent* AComponent);
  278. virtual bool __fastcall ScrollButtonVisible(TfcScrollButtonStyle Button);
  279. virtual void __fastcall DoDrawItem(TfcOutlookListItem* Item, Types::TPoint &GlyphPos, Types::TPoint &TextPos, bool &DefaultDrawing);
  280. virtual void __fastcall ImageListChange(System::TObject* Sender);
  281. virtual void __fastcall InvalidateScrollButton(TfcScrollButtonStyle Button);
  282. virtual void __fastcall ItemClick(TfcOutlookListItem* Item);
  283. virtual void __fastcall ScrollButtonClick(void);
  284. virtual void __fastcall UpdateMouseOnItem(void);
  285. virtual void __fastcall UpdateScrollButtonsRect(void);
  286. __property TfcScrollButtonStyle MouseInScrollButton = {read=FMouseInScrollButton, write=SetMouseInScrollButton, nodefault};
  287. public:
  288. Variant Patch;
  289. __fastcall virtual TfcCustomOutlookList(Classes::TComponent* AOwner);
  290. __fastcall virtual ~TfcCustomOutlookList(void);
  291. TfcOutlookListItem* __fastcall GetPriorVisibleItem(TfcOutlookListItem* item);
  292. TfcOutlookListItem* __fastcall GetNextVisibleItem(TfcOutlookListItem* item);
  293. virtual TfcOutlookListItem* __fastcall GetItemAt(int x, int y);
  294. virtual void __fastcall PaintScrollButton(TfcScrollButtonStyle Button);
  295. virtual TfcOutlookListItem* __fastcall GetFirstVisibleItem(void);
  296. __property TfcOutlookListItem* ListItems[int Index] = {read=GetListItems};
  297. __property TfcOutlookListItem* BottomItem = {read=GetBottomItem};
  298. __property TfcOutlookListItem* Selected = {read=GetSelected};
  299. __property TfcOutlookListItem* TopItem = {read=GetTopItem, write=SetTopItem};
  300. __property Graphics::TCanvas* PaintCanvas = {read=GetPaintCanvas};
  301. __property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, nodefault};
  302. __property TfcCustomOutlookListClickStyle ClickStyle = {read=FClickStyle, write=SetClickStyle, nodefault};
  303. __property TfcOutlookHotTrackStyle HotTrackStyle = {read=FHotTrackStyle, write=FHotTrackStyle, nodefault};
  304. __property Graphics::TColor HotTrackTextColor = {read=FHotTrackTextColor, write=FHotTrackTextColor, nodefault};
  305. __property Graphics::TColor ItemDisabledTextColor = {read=FItemDisabledTextColor, write=SetItemDisabledTextColor, default=-16777201};
  306. __property Imglist::TCustomImageList* Images = {read=FImageList, write=SetImageList};
  307. __property Graphics::TColor ItemHighlightColor = {read=FItemHighlightColor, write=SetItemHighlightColor, nodefault};
  308. __property Graphics::TColor ItemHotTrackColor = {read=FItemHotTrackColor, write=FItemHotTrackColor, nodefault};
  309. __property Buttons::TButtonLayout ItemLayout = {read=FItemLayout, write=SetItemLayout, nodefault};
  310. __property Graphics::TColor ItemShadowColor = {read=FItemShadowColor, write=SetItemShadowColor, nodefault};
  311. __property TfcOutlookListItems* Items = {read=FItems, write=SetItems};
  312. __property int ItemSpacing = {read=FItemSpacing, write=SetItemSpacing, nodefault};
  313. __property int ItemsWidth = {read=FItemsWidth, write=SetItemsWidth, nodefault};
  314. __property Fccommon::TfcLayout Layout = {read=FLayout, write=SetLayout, nodefault};
  315. __property Classes::TPersistent* OutlookPage = {read=FOutlookPage, write=FOutlookPage};
  316. __property bool ScrollButtonsVisible = {read=FScrollButtonsVisible, write=SetScrollButtonsVisible, nodefault};
  317. __property int ScrollInterval = {read=FScrollInterval, write=FScrollInterval, nodefault};
  318. __property Graphics::TColor ItemSelectedDitherColor = {read=FItemSelectedDitherColor, write=FItemSelectedDitherColor, nodefault};
  319. __property TfcOutlookListDrawItemEvent OnDrawItem = {read=FOnDrawItem, write=FOnDrawItem};
  320. __property TfcCustomOutlookListItemEvent OnItemClick = {read=FOnItemClick, write=FOnItemClick};
  321. __property TfcCustomOutlookListItemEvent OnItemChange = {read=FOnItemChange, write=FOnItemChange};
  322. public:
  323. #pragma option push -w-inl
  324. /* TWinControl.CreateParented */ inline __fastcall TfcCustomOutlookList(HWND ParentWindow) : TfcOutlookPanel(ParentWindow) { }
  325. #pragma option pop
  326. };
  327. class DELPHICLASS TfcOutlookList;
  328. class PASCALIMPLEMENTATION TfcOutlookList : public TfcCustomOutlookList 
  329. {
  330. typedef TfcCustomOutlookList inherited;
  331. __published:
  332. __property Align  = {default=0};
  333. __property BorderStyle ;
  334. __property ClickStyle ;
  335. __property Color  = {default=-16777211};
  336. __property DragCursor  = {default=-12};
  337. __property DragMode  = {default=0};
  338. __property Font ;
  339. __property HotTrackStyle ;
  340. __property Images ;
  341. __property ItemDisabledTextColor  = {default=-16777201};
  342. __property ItemHighlightColor ;
  343. __property ItemHotTrackColor ;
  344. __property ItemLayout ;
  345. __property ItemShadowColor ;
  346. __property ItemSelectedDitherColor ;
  347. __property Items ;
  348. __property ItemSpacing ;
  349. __property ItemsWidth ;
  350. __property Layout ;
  351. __property PopupMenu ;
  352. __property ScrollButtonsVisible ;
  353. __property ScrollInterval ;
  354. __property ShowHint ;
  355. __property Transparent ;
  356. __property OnDragDrop ;
  357. __property OnDragOver ;
  358. __property OnDrawItem ;
  359. __property OnEndDrag ;
  360. __property OnItemClick ;
  361. __property OnItemChange ;
  362. __property OnMouseDown ;
  363. __property OnMouseUp ;
  364. __property OnMouseMove ;
  365. __property OnStartDrag ;
  366. public:
  367. #pragma option push -w-inl
  368. /* TfcCustomOutlookList.Create */ inline __fastcall virtual TfcOutlookList(Classes::TComponent* AOwner) : TfcCustomOutlookList(AOwner) { }
  369. #pragma option pop
  370. #pragma option push -w-inl
  371. /* TfcCustomOutlookList.Destroy */ inline __fastcall virtual ~TfcOutlookList(void) { }
  372. #pragma option pop
  373. public:
  374. #pragma option push -w-inl
  375. /* TWinControl.CreateParented */ inline __fastcall TfcOutlookList(HWND ParentWindow) : TfcCustomOutlookList(ParentWindow) { }
  376. #pragma option pop
  377. };
  378. //-- var, const, procedure ---------------------------------------------------
  379. #pragma error Unsupported symbol type (23, fcOutlookList)
  380. } /* namespace Fcoutlooklist */
  381. using namespace Fcoutlooklist;
  382. #pragma option pop // -w-
  383. #pragma option pop // -Vx
  384. #pragma delphiheader end.
  385. //-- end unit ----------------------------------------------------------------
  386. #endif // fcOutlookList