WizPropertySheet.cpp
上传用户:lnjd2004
上传日期:2007-01-02
资源大小:3k
文件大小:2k
源码类别:

PropertySheet

开发平台:

Visual C++

  1. // WizPropertySheet.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "MySetup.h"
  5. #include "WizPropertySheet.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CWizPropertySheet
  13. IMPLEMENT_DYNAMIC(CWizPropertySheet, CPropertySheet)
  14. CWizPropertySheet::CWizPropertySheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
  15. :CPropertySheet(nIDCaption, pParentWnd, iSelectPage)
  16. {
  17. SetWizardMode();
  18. }
  19. CWizPropertySheet::CWizPropertySheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
  20. :CPropertySheet(pszCaption, pParentWnd, iSelectPage)
  21. {
  22. SetWizardMode();
  23. }
  24. CWizPropertySheet::~CWizPropertySheet()
  25. {
  26. }
  27. void CWizPropertySheet::AddPage( CWizPropertyPage *pPage )
  28. {
  29. CPropertySheet::AddPage(pPage);
  30. pPage->m_pPropSheet = this;
  31. }
  32. BEGIN_MESSAGE_MAP(CWizPropertySheet, CPropertySheet)
  33. //{{AFX_MSG_MAP(CWizPropertySheet)
  34. // NOTE - the ClassWizard will add and remove mapping macros here.
  35. //}}AFX_MSG_MAP
  36. END_MESSAGE_MAP()
  37. /////////////////////////////////////////////////////////////////////////////
  38. // CWizPropertySheet message handlers
  39. void CWizPropertySheet::EnablePages(BOOL bEnable, int nStart, int nEnd /* = -1 */)
  40. {
  41. if (nEnd == -1)
  42. nEnd = nStart;
  43. if (nStart > nEnd)
  44. {
  45. int tmp = nEnd;
  46. nEnd = nStart;
  47. nStart = tmp;
  48. }
  49. int count = GetPageCount();
  50. if (nEnd >= count)
  51. nEnd = count -1;
  52. CWizPropertyPage *pPage;
  53. for (int act=nStart; act <= nEnd;act++)
  54. {
  55. pPage = (CWizPropertyPage*) GetPage(act);
  56. pPage->Enable(bEnable);
  57. }
  58. }