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

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