Chooser.cpp
上传用户:apjinmao
上传日期:2007-01-02
资源大小:96k
文件大小:1k
源码类别:

PropertySheet

开发平台:

Visual C++

  1. // chooser.cpp : Implements the CDialogChooser class
  2. //
  3. #include "stdafx.h"
  4. #include "PropSheet Wizard.h"
  5. #include "chooser.h"
  6. #include "cstm1dlg.h"
  7. #include "cstm2dlg.h"
  8. #ifdef _PSEUDO_DEBUG
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. // On construction, set up internal array with pointers to each step.
  13. CDialogChooser::CDialogChooser()
  14. {
  15. m_pDlgs[0] = NULL;
  16. m_pDlgs[1] = new CCustom1Dlg;
  17. m_pDlgs[2] = new CCustom2Dlg;
  18. //m_pDlgs[3] = new CCustom3Dlg;
  19. m_nCurrDlg = 0;
  20. }
  21. // Remember where the custom steps begin, so we can delete them in
  22. //  the destructor
  23. #define FIRST_CUSTOM_STEP 1
  24. #define LAST_CUSTOM_STEP 2
  25. // The destructor deletes entries in the internal array corresponding to
  26. //  custom steps.
  27. CDialogChooser::~CDialogChooser()
  28. {
  29. for (int i = FIRST_CUSTOM_STEP; i <= LAST_CUSTOM_STEP; i++)
  30. {
  31. ASSERT(m_pDlgs[i] != NULL);
  32. delete m_pDlgs[i];
  33. }
  34. }
  35. // Use the internal array to determine the next step.
  36. CAppWizStepDlg* CDialogChooser::Next(CAppWizStepDlg* pDlg)
  37. {
  38. ASSERT(0 <= m_nCurrDlg && m_nCurrDlg < LAST_DLG);
  39. ASSERT(pDlg == m_pDlgs[m_nCurrDlg]);
  40. m_nCurrDlg++;
  41. return m_pDlgs[m_nCurrDlg];
  42. }
  43. // Use the internal array to determine the previous step.
  44. CAppWizStepDlg* CDialogChooser::Back(CAppWizStepDlg* pDlg)
  45. {
  46. ASSERT(1 <= m_nCurrDlg && m_nCurrDlg <= LAST_DLG);
  47. ASSERT(pDlg == m_pDlgs[m_nCurrDlg]);
  48. m_nCurrDlg--;
  49. return m_pDlgs[m_nCurrDlg];
  50. }