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.

246 lines
5.2 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 1996 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // BaseWPag.cpp
  7. //
  8. // Abstract:
  9. // Implementation of the CBaseWizardPage class.
  10. //
  11. // Author:
  12. // David Potter (davidp) July 23, 1996
  13. //
  14. // Revision History:
  15. //
  16. // Notes:
  17. //
  18. /////////////////////////////////////////////////////////////////////////////
  19. #include "stdafx.h"
  20. #include "BaseWPag.h"
  21. #ifdef _DEBUG
  22. #define new DEBUG_NEW
  23. #undef THIS_FILE
  24. static char THIS_FILE[] = __FILE__;
  25. #endif
  26. /////////////////////////////////////////////////////////////////////////////
  27. // CBaseWizardPage property page
  28. /////////////////////////////////////////////////////////////////////////////
  29. IMPLEMENT_DYNCREATE(CBaseWizardPage, CBasePage)
  30. /////////////////////////////////////////////////////////////////////////////
  31. // Message Maps
  32. BEGIN_MESSAGE_MAP(CBaseWizardPage, CBasePage)
  33. //{{AFX_MSG_MAP(CBaseWizardPage)
  34. //}}AFX_MSG_MAP
  35. END_MESSAGE_MAP()
  36. /////////////////////////////////////////////////////////////////////////////
  37. //++
  38. //
  39. // CBaseWizardPage::CBaseWizardPage
  40. //
  41. // Routine Description:
  42. // Default constructor.
  43. //
  44. // Arguments:
  45. // None.
  46. //
  47. // Return Value:
  48. // None.
  49. //
  50. //--
  51. /////////////////////////////////////////////////////////////////////////////
  52. CBaseWizardPage::CBaseWizardPage(void)
  53. {
  54. m_bBackPressed = FALSE;
  55. } //*** CBaseWizardPage::CBaseWizardPage()
  56. /////////////////////////////////////////////////////////////////////////////
  57. //++
  58. //
  59. // CBaseWizardPage::CBaseWizardPage
  60. //
  61. // Routine Description:
  62. // Constructor.
  63. //
  64. // Arguments:
  65. // idd [IN] Dialog template resource ID.
  66. // pdwHelpMap [IN] Control to help ID map.
  67. // nIDCaption [IN] Caption string resource ID.
  68. //
  69. // Return Value:
  70. // None.
  71. //
  72. //--
  73. /////////////////////////////////////////////////////////////////////////////
  74. CBaseWizardPage::CBaseWizardPage(
  75. IN UINT idd,
  76. IN const DWORD * pdwHelpMap,
  77. IN UINT nIDCaption
  78. )
  79. : CBasePage(idd, pdwHelpMap, nIDCaption)
  80. {
  81. //{{AFX_DATA_INIT(CBaseWizardPage)
  82. //}}AFX_DATA_INIT
  83. m_bBackPressed = FALSE;
  84. } //*** CBaseWizardPage::CBaseWizardPage()
  85. /////////////////////////////////////////////////////////////////////////////
  86. //++
  87. //
  88. // CBaseWizardPage::OnSetActive
  89. //
  90. // Routine Description:
  91. // Handler for the PSN_SETACTIVE message.
  92. //
  93. // Arguments:
  94. // None.
  95. //
  96. // Return Value:
  97. // TRUE Page successfully initialized.
  98. // FALSE Page not initialized.
  99. //
  100. //--
  101. /////////////////////////////////////////////////////////////////////////////
  102. BOOL CBaseWizardPage::OnSetActive(void)
  103. {
  104. BOOL bSuccess;
  105. Pwiz()->SetWizardButtons(*this);
  106. m_bBackPressed = FALSE;
  107. bSuccess = CBasePage::OnSetActive();
  108. if (bSuccess)
  109. m_staticTitle.SetWindowText(Pwiz()->StrObjTitle());
  110. return bSuccess;
  111. } //*** CBaseWizardPage::OnSetActive()
  112. /////////////////////////////////////////////////////////////////////////////
  113. //++
  114. //
  115. // CBaseWizardPage::OnWizardBack
  116. //
  117. // Routine Description:
  118. // Handler for the PSN_WIZBACK message.
  119. //
  120. // Arguments:
  121. // None.
  122. //
  123. // Return Value:
  124. // -1 Don't change the page.
  125. // 0 Change the page.
  126. //
  127. //--
  128. /////////////////////////////////////////////////////////////////////////////
  129. LRESULT CBaseWizardPage::OnWizardBack(void)
  130. {
  131. LRESULT lResult;
  132. lResult = CBasePage::OnWizardBack();
  133. if (lResult != -1)
  134. m_bBackPressed = TRUE;
  135. return lResult;
  136. } //*** CBaseWizardPage::OnWizardBack()
  137. /////////////////////////////////////////////////////////////////////////////
  138. //++
  139. //
  140. // CBaseWizardPage::OnWizardNext
  141. //
  142. // Routine Description:
  143. // Handler for when the PSN_WIZNEXT message is sent.
  144. //
  145. // Arguments:
  146. // None.
  147. //
  148. // Return Value:
  149. // -1 Don't change the page.
  150. // 0 Change the page.
  151. //
  152. //--
  153. /////////////////////////////////////////////////////////////////////////////
  154. LRESULT CBaseWizardPage::OnWizardNext(void)
  155. {
  156. CWaitCursor wc;
  157. // Update the data in the class from the page.
  158. if (!UpdateData(TRUE /*bSaveAndValidate*/))
  159. return -1;
  160. // Save the data in the sheet.
  161. if (!BApplyChanges())
  162. return -1;
  163. return CBasePage::OnWizardNext();
  164. } //*** CBaseWizardPage::OnWizardNext()
  165. /////////////////////////////////////////////////////////////////////////////
  166. //++
  167. //
  168. // CBaseWizardPage::OnWizardFinish
  169. //
  170. // Routine Description:
  171. // Handler for when the PSN_WIZFINISH message is sent.
  172. //
  173. // Arguments:
  174. // None.
  175. //
  176. // Return Value:
  177. // FALSE Don't change the page.
  178. // TRUE Change the page.
  179. //
  180. //--
  181. /////////////////////////////////////////////////////////////////////////////
  182. BOOL CBaseWizardPage::OnWizardFinish(void)
  183. {
  184. CWaitCursor wc;
  185. // Update the data in the class from the page.
  186. if (!UpdateData(TRUE /*bSaveAndValidate*/))
  187. return FALSE;
  188. // Save the data in the sheet.
  189. if (!BApplyChanges())
  190. return FALSE;
  191. return CBasePage::OnWizardFinish();
  192. } //*** CBaseWizardPage::OnWizardFinish()
  193. /////////////////////////////////////////////////////////////////////////////
  194. //++
  195. //
  196. // CBaseWizardPage::BApplyChanges
  197. //
  198. // Routine Description:
  199. // Apply changes made on the page.
  200. //
  201. // Arguments:
  202. // None.
  203. //
  204. // Return Value:
  205. // TRUE Page successfully applied.
  206. // FALSE Error applying page.
  207. //
  208. //--
  209. /////////////////////////////////////////////////////////////////////////////
  210. BOOL CBaseWizardPage::BApplyChanges(void)
  211. {
  212. return TRUE;
  213. } //*** CBaseWizardPage::BApplyChanges()