home *** CD-ROM | disk | FTP | other *** search
/ Team Palmtops 7 / Palmtops_numero07.iso / WinCE / SDKWindowsCE / AutoPC / apcsdk10.exe / data1.cab / Win32_Samples / win32 / simpleclock / simpleclock.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-05-13  |  3.6 KB  |  121 lines

  1. /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2.  
  3. Copyright (c) 1998 Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     SimpleClock.h
  8.  
  9. Abstract:
  10.  
  11.     CSimpleClockApp and CSimpleClockSink class definitions.
  12.  
  13. Environment:
  14.  
  15.     AutoPC
  16.  
  17. -------------------------------------------------------------------*/
  18.  
  19. #ifndef SIMPLECLOCK_H
  20. #define SIMPLECLOCK_H
  21.  
  22. //
  23. // App class definition
  24. //
  25.  
  26. class CSimpleClockApp  
  27. {
  28. //Methods
  29. public:
  30.     CSimpleClockApp( DWORD dwThreadID);
  31.     virtual ~CSimpleClockApp();
  32.     void ProcessMessage(LONG uMsg, LONG wParam, LONG lParam); //Handles stray messages
  33.     void Clean();                //Releases everything used by App
  34.  
  35. private:
  36.     BOOL CreateSinks();            //Creates a IASEventSink and IASClassMsgSink
  37.     BOOL CreateFormsManager();    //Creates and starts the forms manager
  38.     BOOL CreateMainForm();        //Creates main form
  39.     BOOL AddControls();            //Adds the clock and label control
  40.     BOOL LoadBSTR(UINT uID, BSTR * pbstrTarget); //Loads a bstr from a resource
  41.  
  42. //Properties
  43. public:
  44.     HINSTANCE m_hInst;
  45.     BOOL Init();
  46.     DWORD                m_dwThreadID;
  47.  
  48. private:
  49.     BSTR                 m_bstrExitText;        //text telling how to exit
  50.     BSTR                 m_bstrAppName;        //text of the app name
  51.     OLE_HANDLE            m_hFC;                //Form context handle
  52.     IASEventSink*        m_pFormEventSink;    //Event sink attatched to main form
  53.     IASClassMsgSink*    m_pFmMsgSink;        //Message sink attatched to form manager(App)
  54.     IfmManage*            m_pManager;            //Forms manager 
  55.     IASForm*            m_pForm;            //The one and only form 
  56.     IASLabel*            m_pLabel;            //Label control
  57.     IASClock*            m_pClock;            //Clock control
  58.     IASLabel*            m_pClockLabel;        //Label for the clock control
  59.  
  60. };
  61.  
  62.  
  63. //
  64. // CSimpleClockSink definition - Implements IUnknown and IDispatch interfaces
  65. //        because it is a COM object, and IASEventSink and IASClassMsgSink interfaces
  66. //        to receive application messages.
  67. // 
  68.  
  69. class CSimpleClockSink : 
  70.     public IASEventSink, 
  71.     public IASClassMsgSink  
  72. {
  73. public:
  74.     CSimpleClockSink(DWORD dwThreadID);
  75.     virtual ~CSimpleClockSink();
  76.  
  77.     //IUknown methods, must implement
  78.     STDMETHODIMP QueryInterface(REFIID riid, PVOID *ppv);
  79.     STDMETHODIMP_(ULONG) AddRef( VOID );
  80.     STDMETHODIMP_(ULONG) Release( VOID );
  81.  
  82.     //IDispatch methods, token implementation
  83.     STDMETHODIMP GetTypeInfoCount(UINT *pctInfo)
  84.     {return NOERROR;}
  85.     STDMETHODIMP GetTypeInfo(UINT itinfo, LCID lcid, ITypeInfo **pptinfo)
  86.     {return NOERROR;}
  87.     STDMETHODIMP GetIDsOfNames(REFIID riid,    OLECHAR **rgszNames, UINT cNames, 
  88.         LCID lcid, DISPID *rgdispids)
  89.     {return NOERROR;}
  90.     STDMETHODIMP Invoke(DISPID dispid, REFIID riid, LCID lcid, WORD wFlags, 
  91.         DISPPARAMS *pdispparams, VARIANT *pVarResult, EXCEPINFO *pei, UINT *puArgErr)
  92.     {return NOERROR;}
  93.  
  94.     //IASClassMsgSink methods, token implementation except for the one we want (HandleKeyPress)
  95.     STDMETHODIMP HandleKeyPress(IDispatch* pdispControl, LONG lKeyPress);    
  96.     STDMETHODIMP HandleMessage(IDispatch* pdispControl, LONG uMsg, LONG wParam, LONG lParam)
  97.     {return S_FALSE;}
  98.        STDMETHODIMP HandleStart(IDispatch* pdispControl)
  99.     {return S_FALSE;}
  100.     STDMETHODIMP HandleClose(IDispatch* pdispControl)
  101.     {return S_FALSE;}
  102.        STDMETHODIMP HandleDraw(IDispatch* pdispControl, OLE_HANDLE hDC)
  103.     {return S_FALSE;}
  104.     STDMETHODIMP HandleGotFocus(IDispatch* pdispControl)
  105.     {return S_FALSE;}
  106.     STDMETHODIMP HandleLostFocus(IDispatch* pdispControl)
  107.     {return S_FALSE;}
  108.  
  109.     //IASEventSink members.
  110.     STDMETHODIMP ReceiveMsg(LONG uMsg, LONG wParam, LONG lParam)
  111.     {return S_FALSE;}
  112.     
  113. private:
  114.     long    m_lRefCount; // this object's ref count
  115.     DWORD    m_dwThreadID;
  116.  
  117. };
  118.  
  119.  
  120. #endif // SIMPLECLOCK_H
  121.