home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 May / PCP163A.iso / Runimage / Cbuilder4 / Examples / Controls / Tray / TRAYCOMP.H < prev    next >
Encoding:
C/C++ Source or Header  |  1999-01-26  |  4.3 KB  |  105 lines

  1. //---------------------------------------------------------------------------
  2. // Borland C++Builder
  3. // Copyright (c) 1987, 1998 Inprise Corporation. All Rights Reserved.
  4. //---------------------------------------------------------------------------
  5. //---------------------------------------------------------------------------
  6. #ifndef TrayCompH
  7. #define TrayCompH
  8. //---------------------------------------------------------------------------
  9. #include <System.hpp>
  10. #include <Controls.hpp>
  11. #include <Classes.hpp>
  12. #include <Forms.hpp>
  13. #include <ShellAPI.hpp>
  14. #include <StdLib.h>
  15.  
  16. //---------------------------------------------------------------------------
  17. #define WM_SYSTEM_TRAY_NOTIFY (WM_USER + 100)
  18.  
  19. enum TTrayCompButtonClick {arLeftClick, arLeftDblClick, arLeftClickUp,
  20.                   arRightClick, arRightDblClick, arRightClickUp, arNone};
  21.  
  22. //---------------------------------------------------------------------------
  23. class PACKAGE TTrayComp : public TComponent
  24. {
  25. private:
  26.    TNotifyIconData FNid;
  27.    TIcon *FIcon;
  28.    TImageList* FIconList;
  29.    TPopupMenu* FPopupMenu;
  30.    TTimer *FTimer;
  31.    String FHint;
  32.    int FIconIndex;
  33.    bool FVisible;
  34.    bool FHide;
  35.    TTrayCompButtonClick FAppRestore;
  36.         TTrayCompButtonClick FPopupMenuShow;
  37.  
  38.    TNotifyEvent FOnMinimize;
  39.    TNotifyEvent FOnRestore;
  40.    TNotifyEvent FOnLButtonDblClick;
  41.    TNotifyEvent FOnLButtonDown;
  42.    TNotifyEvent FOnLButtonUp;
  43.    TNotifyEvent FOnRButtonDblClick;
  44.    TNotifyEvent FOnRButtonDown;
  45.    TNotifyEvent FOnRButtonUp;
  46.  
  47. protected:
  48.    virtual void __fastcall SetVisible(bool Value);
  49.    virtual void __fastcall TrayCompMinimize(TObject* Sender);
  50.    virtual void __fastcall TrayCompRestore(TObject* Sender);
  51.    virtual void __fastcall SetHint(String Hint);
  52.    virtual void __fastcall SetHide(bool Value);
  53.    virtual int __fastcall GetInterval();
  54.    virtual void __fastcall SetInterval(int Value);
  55.    virtual bool __fastcall GetAnimate();
  56.    virtual void __fastcall SetAnimate(bool Value);
  57.  
  58.    virtual void __fastcall OnMessage(TMessage &Message);
  59.    virtual void __fastcall LButtonDown();
  60.    virtual void __fastcall LButtonUp();
  61.    virtual void __fastcall LButtonDblClick();
  62.    virtual void __fastcall RButtonDown();
  63.    virtual void __fastcall RButtonUp();
  64.    virtual void __fastcall RButtonDblClick();
  65.    virtual void __fastcall EndSession();
  66.  
  67.    virtual void __fastcall Loaded();
  68.  
  69. public:
  70.    __fastcall TTrayComp(TComponent* Owner);
  71.    virtual __fastcall ~TTrayComp();
  72.  
  73.    virtual void __fastcall Minimize();
  74.    virtual void __fastcall Restore();
  75.    virtual void __fastcall Update();
  76.    virtual void __fastcall ShowMenu();
  77.    virtual void __fastcall SetIconIndex(int Value);
  78.    virtual void __fastcall OnAnimation(TObject* Sender);
  79.    virtual void __fastcall SetDefaultIcon();
  80.  
  81. __published:
  82.    // Properties
  83.    __property bool Visible = {read=FVisible,write=SetVisible,default=false};
  84.    __property String Hint = {read=FHint,write=SetHint};
  85.    __property TPopupMenu* PopupMenu = {read=FPopupMenu,write=FPopupMenu};
  86.    __property bool Hide = {read=FHide,write=SetHide};
  87.    __property TTrayCompButtonClick RestoreOn = {read=FAppRestore,write=FAppRestore};
  88.    __property TTrayCompButtonClick PopupMenuOn = {read=FPopupMenuShow,write=FPopupMenuShow};
  89.    __property TImageList* Icons = {read=FIconList,write=FIconList};
  90.    __property int IconIndex = {read=FIconIndex,write=SetIconIndex,default=0};
  91.    __property int Interval = {read=GetInterval,write=SetInterval,default=1000};
  92.    __property bool Animate = {read=GetAnimate,write=SetAnimate,default=false};
  93.  
  94.    // Events
  95.    __property TNotifyEvent OnMinimize = {read=FOnMinimize,write=FOnMinimize};
  96.    __property TNotifyEvent OnRestore = {read=FOnRestore,write=FOnRestore};
  97.    __property TNotifyEvent OnLButtonDblClick = {read=FOnLButtonDblClick,write=FOnLButtonDblClick};
  98.    __property TNotifyEvent OnLButtonDown = {read=FOnLButtonDown,write=FOnLButtonDown};
  99.    __property TNotifyEvent OnLButtonUp = {read=FOnLButtonUp,write=FOnLButtonUp};
  100.    __property TNotifyEvent OnRButtonDblClick = {read=FOnRButtonDblClick,write=FOnRButtonDblClick};
  101.    __property TNotifyEvent OnRButtonDown = {read=FOnRButtonDown,write=FOnRButtonDown};
  102.    __property TNotifyEvent OnRButtonUp = {read=FOnRButtonUp,write=FOnRButtonUp};
  103. };
  104. //---------------------------------------------------------------------------
  105. #endif