home *** CD-ROM | disk | FTP | other *** search
/ Building OCXs / Building_OCXs_Que_1995.iso / code / ch10 / timerctl.h < prev    next >
C/C++ Source or Header  |  1994-12-14  |  2KB  |  88 lines

  1. // timerctl.h : Declaration of the CTimerCtrl OLE control class.
  2.  
  3. /////////////////////////////////////////////////////////////////////////////
  4. // CTimerCtrl : See timerctl.cpp for implementation.
  5.  
  6. const DEFAULT_INTERVAL  = 1000;
  7.  
  8.  
  9. class CTimerCtrl : public COleControl
  10. {
  11.     DECLARE_DYNCREATE(CTimerCtrl)
  12.  
  13. // Constructor
  14. public:
  15.     CTimerCtrl();
  16.  
  17. // Overrides
  18.  
  19.     // Drawing function
  20.     virtual void OnDraw(
  21.                 CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
  22.  
  23.     // Persistence
  24.     virtual void DoPropExchange(CPropExchange* pPX);
  25.  
  26.     // Reset control state
  27.     virtual void OnResetState();
  28.  
  29.     virtual void OnAmbientPropertyChange(DISPID dispid);
  30.  
  31.     virtual void OnEnabledChanged();
  32.  
  33.  
  34. // Implementation
  35. protected:
  36.     ~CTimerCtrl();
  37.  
  38.     BEGIN_OLEFACTORY(CTimerCtrl)        // Class factory and guid
  39.         virtual BOOL VerifyUserLicense();
  40.         virtual BOOL GetLicenseKey(DWORD, BSTR FAR*);
  41.     END_OLEFACTORY(CTimerCtrl)
  42.  
  43.     DECLARE_OLETYPELIB(CTimerCtrl)      // GetTypeInfo
  44.     DECLARE_PROPPAGEIDS(CTimerCtrl)     // Property page IDs
  45.     DECLARE_OLECTLTYPE(CTimerCtrl)        // Type name and misc status
  46.  
  47. // Message maps
  48.     //{{AFX_MSG(CTimerCtrl)
  49.     afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  50.     afx_msg void OnDestroy();
  51.     afx_msg BOOL OnEraseBkgnd(CDC* pDC);
  52.     afx_msg void OnTimer(UINT nIDEvent);
  53.     //}}AFX_MSG
  54.     DECLARE_MESSAGE_MAP()
  55.  
  56. // Dispatch maps
  57.     //{{AFX_DISPATCH(CTimerCtrl)
  58.     short m_interval;
  59.     afx_msg void OnIntervalChanged();
  60.     //}}AFX_DISPATCH
  61.     DECLARE_DISPATCH_MAP()
  62.  
  63.     afx_msg void AboutBox();
  64.  
  65. // Event maps
  66.     //{{AFX_EVENT(CTimerCtrl)
  67.     void FireTimer()
  68.         {FireEvent(eventidTimer,EVENT_PARAM(VTS_NONE));}
  69.     //}}AFX_EVENT
  70.     DECLARE_EVENT_MAP()
  71.  
  72. // Dispatch and event IDs
  73. public:
  74.     enum {
  75.     //{{AFX_DISP_ID(CTimerCtrl)
  76.     dispidInterval = 1L,
  77.     eventidTimer = 1L,
  78.     //}}AFX_DISP_ID
  79.     };
  80.  
  81. protected:
  82.  
  83.     void OnSetClientSite();
  84.     void StartTimer();
  85.     void StopTimer();
  86.  
  87. };
  88.