PageSecond.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. /******************************************************************************
  2. |* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
  3. |* ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
  4. |* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
  5. |* PARTICULAR PURPOSE.
  6. |*
  7. |* Copyright 1995-2005 Nero AG. All Rights Reserved.
  8. |*-----------------------------------------------------------------------------
  9. |* NeroSDK / NVAPIExample
  10. |*
  11. |* PROGRAM: PageSecond.h
  12. |*
  13. |* PURPOSE: Implementation of the second page.
  14. ******************************************************************************/
  15. #ifndef _NVAPIEXAMPLE_PAGE_SECOND_H_
  16. #define _NVAPIEXAMPLE_PAGE_SECOND_H_
  17. #if _MSC_VER > 1000
  18. #pragma once
  19. #endif // _MSC_VER > 1000
  20. #include "Page.h"
  21. #include "RecorderCombobox.h"
  22. #include "SpeedComboBox.h"
  23. #include "PageData.h"
  24. #include "EstimatingDlg.h"
  25. #include "EstimateDoneDlg.h"
  26. class CPageSecond
  27. : public CPage
  28. , public IProgressCallback
  29. , CNVAPIExamplePage<CPageSecond>
  30. {
  31. protected:
  32. bool m_bFirstActivate;
  33. CEstimatingDlg m_dlgEstimating;
  34. CEstimateDoneDlg m_dlgEstimateDone;
  35. // Construction
  36. public:
  37. CPageSecond(CSheet * pParent); // standard constructor
  38. // Dialog Data
  39. //{{AFX_DATA(CPageSecond)
  40. enum { IDD = IDD_SECOND_PAGE };
  41. CStatic c_ChildDialogPlaceholder;
  42. CSpeedComboBox c_Speed;
  43. CRecorderCombobox c_Recorder;
  44. //}}AFX_DATA
  45. // Overrides
  46. // ClassWizard generated virtual function overrides
  47. //{{AFX_VIRTUAL(CPageSecond)
  48. protected:
  49. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  50. //}}AFX_VIRTUAL
  51. // Implementation
  52. protected:
  53. // Generated message map functions
  54. //{{AFX_MSG(CPageSecond)
  55. virtual BOOL OnInitDialog();
  56. afx_msg void OnSelchangeRecorder();
  57. //}}AFX_MSG
  58. DECLARE_MESSAGE_MAP()
  59. protected:
  60. void UpdateSpeeds (void);
  61. // CPage implementation
  62. public:
  63. bool Create (void);
  64. bool OnNext (void);
  65. void OnChangeState (bool bActivate, bool bForward);
  66. // IProgressCallback
  67. public:
  68. STDMETHOD (QueryInterface) (/* [in] */ REFIID riid, /* [iid_is][out] */ void ** ppvObject)
  69. {
  70. if (riid == IID_IUnknown ||
  71. riid == __uuidof (IProgressCallback))
  72. {
  73. *ppvObject = this;
  74. return S_OK;
  75. }
  76. else
  77. {
  78. *ppvObject = NULL;
  79. return E_NOINTERFACE;
  80. }
  81. }
  82. STDMETHOD_(ULONG, AddRef) (void)
  83. {
  84. return 0;
  85. }
  86. STDMETHOD_(ULONG, Release) (void)
  87. {
  88. return 0;
  89. }
  90. STDMETHOD (raw_OnProgress) (
  91. enum ProgressAction action,
  92. BSTR itemname,
  93. double currentRemain,
  94. double currentTotal,
  95. float currentFraction,
  96. double totalRemain,
  97. double totalTotal,
  98. float totalFraction);
  99. STDMETHOD (raw_ShouldCancel) (
  100. VARIANT_BOOL * pbCancel);
  101. };
  102. //{{AFX_INSERT_LOCATION}}
  103. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  104. #endif