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

PropertySheet

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "WizPropertyPage.h"
  3. #include "WizPropertySheet.h"
  4. IMPLEMENT_DYNAMIC(CWizPropertyPage, CPropertyPage)
  5. CWizPropertyPage::CWizPropertyPage() : CPropertyPage()
  6. {
  7. m_pPropSheet = NULL;
  8. m_bEnabled = TRUE;
  9. }
  10. CWizPropertyPage::CWizPropertyPage(UINT nIDTemplate, UINT nIDCaption /*= 0*/) 
  11. : CPropertyPage(nIDTemplate, nIDCaption)
  12. {
  13. m_pPropSheet = NULL;
  14. m_bEnabled = TRUE;
  15. }
  16. CWizPropertyPage::CWizPropertyPage(LPCTSTR lpszTemplateName, UINT nIDCaption /*= 0 */)
  17. : CPropertyPage(lpszTemplateName, nIDCaption)
  18. {
  19. m_pPropSheet = NULL;
  20. m_bEnabled = TRUE;
  21. }
  22. LRESULT CWizPropertyPage::GetNextPage(BOOL forward)
  23. {
  24. ASSERT(m_pPropSheet);
  25. int act  = m_pPropSheet->GetActiveIndex();
  26. int count= m_pPropSheet->GetPageCount();
  27. act += (forward ? 1: -1);
  28. BOOL found = FALSE;
  29. CWizPropertyPage *pPage;
  30. CString tmp;
  31. while (!found && act < count && act >=0)
  32. {
  33. pPage = (CWizPropertyPage*) m_pPropSheet->GetPage(act);
  34. if (pPage->IsEnabled())
  35. {
  36. found = TRUE;
  37. }
  38. else 
  39. {
  40. act += (forward ? 1: -1);
  41. }
  42. }
  43. if (found)
  44. {
  45. return (LRESULT) pPage->m_lpszTemplateName; 
  46. }
  47. return -1; // Nowhere to go :)
  48. }
  49. BOOL CWizPropertyPage::IsEnabled(void)
  50. {
  51. return m_bEnabled;
  52. }
  53. BOOL CWizPropertyPage::Enable(BOOL bEnable)
  54. {
  55. BOOL old = m_bEnabled;
  56. m_bEnabled = bEnable;
  57. return old;
  58. }
  59. LRESULT CWizPropertyPage::OnWizardNext() 
  60. {
  61. // TODO: Add your specialized code here and/or call the base class
  62. return GetNextPage();
  63. }
  64. LRESULT CWizPropertyPage::OnWizardBack()
  65. {
  66. return GetNextPage(FALSE);
  67. }
  68. BOOL CWizPropertyPage::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) 
  69. {
  70. return CPropertyPage::OnNotify(wParam,lParam,pResult);
  71. }
  72. BOOL CWizPropertyPage::OnSetActive()
  73. {
  74. return CPropertyPage::OnSetActive();
  75. }