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, Windows::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(
  65. ParentWindow) { }
  66. #pragma option pop
  67. };
  68. class DELPHICLASS TfcCustomOutlookList;
  69. class DELPHICLASS TfcOutlookListItem;
  70. typedef void __fastcall (__closure *TfcCustomOutlookListItemEvent)(TfcCustomOutlookList* OutlookList
  71. , TfcOutlookListItem* Item);
  72. typedef void __fastcall (__closure *TfcOutlookListDrawItemEvent)(TfcCustomOutlookList* OutlookList, 
  73. TfcOutlookListItem* Item, Windows::TPoint &GlyphPos, Windows::TPoint &TextPos, bool &DefaultDrawing
  74. );
  75. class DELPHICLASS TfcOutlookItemActionLink;
  76. class PASCALIMPLEMENTATION TfcOutlookItemActionLink : public Actnlist::TActionLink 
  77. {
  78. typedef Actnlist::TActionLink inherited;
  79. protected:
  80. TfcOutlookListItem* FItem;
  81. virtual void __fastcall AssignClient(System::TObject* AClient);
  82. virtual bool __fastcall IsCaptionLinked(void);
  83. virtual bool __fastcall IsEnabledLinked(void);
  84. virtual bool __fastcall IsHintLinked(void);
  85. virtual bool __fastcall IsVisibleLinked(void);
  86. virtual bool __fastcall IsOnExecuteLinked(void);
  87. virtual void __fastcall SetCaption(const AnsiString Value);
  88. virtual void __fastcall SetEnabled(bool Value);
  89. virtual void __fastcall SetHint(const AnsiString Value);
  90. virtual void __fastcall SetVisible(bool Value);
  91. public:
  92. #pragma option push -w-inl
  93. /* TBasicActionLink.Create */ inline __fastcall virtual TfcOutlookItemActionLink(System::TObject* AClient
  94. ) : Actnlist::TActionLink(AClient) { }
  95. #pragma option pop
  96. #pragma option push -w-inl
  97. /* TBasicActionLink.Destroy */ inline __fastcall virtual ~TfcOutlookItemActionLink(void) { }
  98. #pragma option pop
  99. };
  100. typedef TMetaClass*TfcOutlookItemActionLinkClass;
  101. class PASCALIMPLEMENTATION TfcOutlookListItem : public Fccollection::TfcCollectionItem 
  102. {
  103. typedef Fccollection::TfcCollectionItem inherited;
  104. private:
  105. TfcOutlookItemActionLink* FActionLink;
  106. Windows::TRect FButtonRect;
  107. Windows::TRect FItemRect;
  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 Windows::TRect &IconRect);
  142. virtual AnsiString __fastcall GetDisplayName(void);
  143. __property Windows::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. Windows::TRect __fastcall DisplayRect(Comctrls::TDisplayCode Code, int AStartPos);
  150. virtual bool __fastcall IsDown(void);
  151. virtual void __fastcall Invalidate(bool Erase);
  152. __property Windows::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. };
  166. __property int GlyphOffset = {read=FGlyphOffset, write=SetGlyphOffset, default=0};
  167. __property bool Enabled = {read=FEnabled, write=SetEnabled, default=1};
  168. __property bool Visible = {read=FVisible, write=SetVisible, default=1};
  169. __property AnsiString Hint = {read=FHint, write=SetHint};
  170. };
  171. typedef TMetaClass*TfcOutlookListItemClass;
  172. class DELPHICLASS TfcOutlookListItems;
  173. class PASCALIMPLEMENTATION TfcOutlookListItems : public Fccollection::TfcCollection 
  174. {
  175. typedef Fccollection::TfcCollection inherited;
  176. private:
  177. TfcCustomOutlookList* FOutlookList;
  178. protected:
  179. DYNAMIC Classes::TPersistent* __fastcall GetOwner(void);
  180. HIDESBASE TfcOutlookListItem* __fastcall GetItems(int Index);
  181. virtual void __fastcall Update(Classes::TCollectionItem* Item);
  182. public:
  183. __fastcall virtual TfcOutlookListItems(TfcCustomOutlookList* AOutlookList, TMetaClass* ACollectionItemClass
  184. );
  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. Windows::TRect FUpButtonRect;
  225. Windows::TRect FDownButtonRect;
  226. TfcScrollButtonStyle FScrollButtonDown;
  227. bool FScrollButtonsVisible;
  228. TfcScrollButtonStyle FMouseInScrollButton;
  229. Imglist::TChangeLink* FChangeLink;
  230. HWND FOldCapture;
  231. Classes::TPersistent* FOutlookPage;
  232. Graphics::TColor FItemSelectedDitherColor;
  233. Controls::THintWindow* HintWindow;
  234. int HintTimerCount;
  235. Extctrls::TTimer* HintTimer;
  236. void __fastcall HintTimerEvent(System::TObject* Sender);
  237. void __fastcall FreeHintWindow(void);
  238. TfcOutlookListItem* __fastcall GetListItems(int Index);
  239. TfcOutlookListItem* __fastcall GetBottomItem(void);
  240. Graphics::TCanvas* __fastcall GetPaintCanvas(void);
  241. TfcOutlookListItem* __fastcall GetSelected(void);
  242. TfcOutlookListItem* __fastcall GetTopItem(void);
  243. void __fastcall SetBorderStyle(Forms::TBorderStyle Value);
  244. void __fastcall SetClickStyle(TfcCustomOutlookListClickStyle Value);
  245. void __fastcall SetImageList(Imglist::TCustomImageList* Value);
  246. void __fastcall SetItemHighlightColor(Graphics::TColor Value);
  247. void __fastcall SetItemDisabledTextColor(Graphics::TColor Value);
  248. void __fastcall SetItemLayout(Buttons::TButtonLayout Value);
  249. void __fastcall SetItemShadowColor(Graphics::TColor Value);
  250. void __fastcall SetItems(TfcOutlookListItems* Value);
  251. void __fastcall SetItemSpacing(int Value);
  252. void __fastcall SetItemsWidth(int Value);
  253. void __fastcall SetLayout(Fccommon::TfcLayout Value);
  254. void __fastcall SetMouseInScrollButton(TfcScrollButtonStyle Value);
  255. void __fastcall SetScrollButtonsVisible(bool Value);
  256. void __fastcall SetTopItem(TfcOutlookListItem* Value);
  257. Fcimager::TfcCustomImager* __fastcall GetImager(void);
  258. bool __fastcall IsEffectiveItemHilite(void);
  259. HIDESBASE MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &Message);
  260. HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &Message);
  261. HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  262. MESSAGE void __fastcall WMTimer(Messages::TWMTimer &Message);
  263. HIDESBASE MESSAGE void __fastcall CNChar(Messages::TWMKey &Message);
  264. protected:
  265. virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  266. virtual void __fastcall Loaded(void);
  267. DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  268. int Y);
  269. DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int 
  270. Y);
  271. DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  272. virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  273. );
  274. virtual void __fastcall Paint(void);
  275. virtual void __fastcall UpdateButtonRects(void);
  276. DYNAMIC void __fastcall ValidateInsert(Classes::TComponent* AComponent);
  277. virtual bool __fastcall ScrollButtonVisible(TfcScrollButtonStyle Button);
  278. virtual void __fastcall DoDrawItem(TfcOutlookListItem* Item, Windows::TPoint &GlyphPos, Windows::TPoint 
  279. &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
  287. , nodefault};
  288. public:
  289. Variant Patch;
  290. __fastcall virtual TfcCustomOutlookList(Classes::TComponent* AOwner);
  291. __fastcall virtual ~TfcCustomOutlookList(void);
  292. TfcOutlookListItem* __fastcall GetPriorVisibleItem(TfcOutlookListItem* item);
  293. TfcOutlookListItem* __fastcall GetNextVisibleItem(TfcOutlookListItem* item);
  294. virtual TfcOutlookListItem* __fastcall GetItemAt(int x, int y);
  295. virtual void __fastcall PaintScrollButton(TfcScrollButtonStyle Button);
  296. virtual TfcOutlookListItem* __fastcall GetFirstVisibleItem(void);
  297. __property TfcOutlookListItem* ListItems[int Index] = {read=GetListItems};
  298. __property TfcOutlookListItem* BottomItem = {read=GetBottomItem};
  299. __property TfcOutlookListItem* Selected = {read=GetSelected};
  300. __property TfcOutlookListItem* TopItem = {read=GetTopItem, write=SetTopItem};
  301. __property Graphics::TCanvas* PaintCanvas = {read=GetPaintCanvas};
  302. __property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, nodefault};
  303. __property TfcCustomOutlookListClickStyle ClickStyle = {read=FClickStyle, write=SetClickStyle, nodefault
  304. };
  305. __property TfcOutlookHotTrackStyle HotTrackStyle = {read=FHotTrackStyle, write=FHotTrackStyle, nodefault
  306. };
  307. __property Graphics::TColor HotTrackTextColor = {read=FHotTrackTextColor, write=FHotTrackTextColor, 
  308. nodefault};
  309. __property Graphics::TColor ItemDisabledTextColor = {read=FItemDisabledTextColor, write=SetItemDisabledTextColor
  310. , default=-2147483633};
  311. __property Imglist::TCustomImageList* Images = {read=FImageList, write=SetImageList};
  312. __property Graphics::TColor ItemHighlightColor = {read=FItemHighlightColor, write=SetItemHighlightColor
  313. , nodefault};
  314. __property Graphics::TColor ItemHotTrackColor = {read=FItemHotTrackColor, write=FItemHotTrackColor, 
  315. nodefault};
  316. __property Buttons::TButtonLayout ItemLayout = {read=FItemLayout, write=SetItemLayout, nodefault};
  317. __property Graphics::TColor ItemShadowColor = {read=FItemShadowColor, write=SetItemShadowColor, nodefault
  318. };
  319. __property TfcOutlookListItems* Items = {read=FItems, write=SetItems};
  320. __property int ItemSpacing = {read=FItemSpacing, write=SetItemSpacing, nodefault};
  321. __property int ItemsWidth = {read=FItemsWidth, write=SetItemsWidth, nodefault};
  322. __property Fccommon::TfcLayout Layout = {read=FLayout, write=SetLayout, nodefault};
  323. __property Classes::TPersistent* OutlookPage = {read=FOutlookPage, write=FOutlookPage};
  324. __property bool ScrollButtonsVisible = {read=FScrollButtonsVisible, write=SetScrollButtonsVisible, 
  325. nodefault};
  326. __property int ScrollInterval = {read=FScrollInterval, write=FScrollInterval, nodefault};
  327. __property Graphics::TColor ItemSelectedDitherColor = {read=FItemSelectedDitherColor, write=FItemSelectedDitherColor
  328. , nodefault};
  329. __property TfcOutlookListDrawItemEvent OnDrawItem = {read=FOnDrawItem, write=FOnDrawItem};
  330. __property TfcCustomOutlookListItemEvent OnItemClick = {read=FOnItemClick, write=FOnItemClick};
  331. __property TfcCustomOutlookListItemEvent OnItemChange = {read=FOnItemChange, write=FOnItemChange};
  332. public:
  333. #pragma option push -w-inl
  334. /* TWinControl.CreateParented */ inline __fastcall TfcCustomOutlookList(HWND ParentWindow) : TfcOutlookPanel(
  335. ParentWindow) { }
  336. #pragma option pop
  337. };
  338. class DELPHICLASS TfcOutlookList;
  339. class PASCALIMPLEMENTATION TfcOutlookList : public TfcCustomOutlookList 
  340. {
  341. typedef TfcCustomOutlookList inherited;
  342. __published:
  343. __property Align ;
  344. __property BorderStyle ;
  345. __property ClickStyle ;
  346. __property Color ;
  347. __property DragCursor ;
  348. __property DragMode ;
  349. __property Font ;
  350. __property HotTrackStyle ;
  351. __property Images ;
  352. __property ItemDisabledTextColor ;
  353. __property ItemHighlightColor ;
  354. __property ItemHotTrackColor ;
  355. __property ItemLayout ;
  356. __property ItemShadowColor ;
  357. __property ItemSelectedDitherColor ;
  358. __property Items ;
  359. __property ItemSpacing ;
  360. __property ItemsWidth ;
  361. __property Layout ;
  362. __property PopupMenu ;
  363. __property ScrollButtonsVisible ;
  364. __property ScrollInterval ;
  365. __property ShowHint ;
  366. __property Transparent ;
  367. __property OnDragDrop ;
  368. __property OnDragOver ;
  369. __property OnDrawItem ;
  370. __property OnEndDrag ;
  371. __property OnItemClick ;
  372. __property OnItemChange ;
  373. __property OnMouseDown ;
  374. __property OnMouseUp ;
  375. __property OnMouseMove ;
  376. __property OnStartDrag ;
  377. public:
  378. #pragma option push -w-inl
  379. /* TfcCustomOutlookList.Create */ inline __fastcall virtual TfcOutlookList(Classes::TComponent* AOwner
  380. ) : TfcCustomOutlookList(AOwner) { }
  381. #pragma option pop
  382. #pragma option push -w-inl
  383. /* TfcCustomOutlookList.Destroy */ inline __fastcall virtual ~TfcOutlookList(void) { }
  384. #pragma option pop
  385. public:
  386. #pragma option push -w-inl
  387. /* TWinControl.CreateParented */ inline __fastcall TfcOutlookList(HWND ParentWindow) : TfcCustomOutlookList(
  388. ParentWindow) { }
  389. #pragma option pop
  390. };
  391. //-- var, const, procedure ---------------------------------------------------
  392. } /* namespace Fcoutlooklist */
  393. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  394. using namespace Fcoutlooklist;
  395. #endif
  396. #pragma option pop // -w-
  397. #pragma option pop // -Vx
  398. #pragma delphiheader end.
  399. //-- end unit ----------------------------------------------------------------
  400. #endif // fcOutlookList