Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.6 KiB

  1. // TimeShiftPage.h : Declaration of the CTimeShiftPage
  2. #ifndef __TIMESHIFTPAGE_H_
  3. #define __TIMESHIFTPAGE_H_
  4. #include "resource.h" // main symbols
  5. #include "..\dmtool\tools.h"
  6. #include "ControlHelp.h"
  7. EXTERN_C const CLSID CLSID_TimeShiftPage;
  8. /////////////////////////////////////////////////////////////////////////////
  9. // CTimeShiftPage
  10. class ATL_NO_VTABLE CTimeShiftPage :
  11. public CComObjectRootEx<CComSingleThreadModel>,
  12. public CComCoClass<CTimeShiftPage, &CLSID_TimeShiftPage>,
  13. public IPropertyPageImpl<CTimeShiftPage>,
  14. public CDialogImpl<CTimeShiftPage>
  15. {
  16. public:
  17. CTimeShiftPage();
  18. virtual ~CTimeShiftPage();
  19. enum {IDD = IDD_TIMESHIFTPAGE};
  20. DECLARE_REGISTRY_RESOURCEID(IDR_TIMESHIFTPAGE)
  21. DECLARE_PROTECT_FINAL_CONSTRUCT()
  22. BEGIN_COM_MAP(CTimeShiftPage)
  23. COM_INTERFACE_ENTRY(IPropertyPage)
  24. END_COM_MAP()
  25. BEGIN_MSG_MAP(CTimeShiftPage)
  26. MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog);
  27. MESSAGE_HANDLER(WM_COMMAND, OnCommand);
  28. MESSAGE_HANDLER(WM_HSCROLL, OnSlider);
  29. CHAIN_MSG_MAP(IPropertyPageImpl<CTimeShiftPage>)
  30. END_MSG_MAP()
  31. // Handler prototypes:
  32. LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  33. LRESULT OnSlider(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  34. LRESULT OnCommand(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
  35. STDMETHOD(SetObjects)(ULONG cObjects,IUnknown **ppUnk);
  36. STDMETHOD(Apply)(void);
  37. private:
  38. void SetTimeUnitRange();
  39. IDirectMusicTimeShiftTool * m_pTimeShift;
  40. CComboHelp m_ctTimeUnit;
  41. CSliderValue m_ctRange;
  42. CSliderValue m_ctOffset;
  43. };
  44. #endif //__TIMESHIFTPAGE_H_