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.

58 lines
1.5 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1997.
  5. //
  6. // File: N C A T L P S . H
  7. //
  8. // Contents: Class definition for ATL-like property sheet page object.
  9. //
  10. // Notes:
  11. //
  12. // Author: danielwe 28 Feb 1997
  13. //
  14. //----------------------------------------------------------------------------
  15. #pragma once
  16. #ifndef _NCATLPS_H_
  17. #define _NCATLPS_H_
  18. #include <prsht.h>
  19. class CPropSheetPage : public CWindow, public CMessageMap
  20. {
  21. public:
  22. virtual ~CPropSheetPage();
  23. VOID SetChangedFlag() const
  24. {
  25. ::SendMessage(GetParent(), PSM_CHANGED, (WPARAM)m_hWnd, 0);
  26. }
  27. VOID SetUnchangedFlag() const
  28. {
  29. ::SendMessage(GetParent(), PSM_UNCHANGED, (WPARAM)m_hWnd, 0);
  30. }
  31. virtual UINT UCreatePageCallbackHandler()
  32. {
  33. return TRUE;
  34. }
  35. virtual VOID DestroyPageCallbackHandler() {}
  36. HPROPSHEETPAGE CreatePage(UINT unId, DWORD dwFlags,
  37. PCWSTR pszHeaderTitle = NULL,
  38. PCWSTR pszHeaderSubTitle = NULL,
  39. PCWSTR pszTitle = NULL,
  40. OPTIONAL HINSTANCE hInstance = NULL);
  41. static LRESULT CALLBACK DialogProc(HWND hWnd, UINT uMsg,
  42. WPARAM wParam, LPARAM lParam);
  43. static UINT CALLBACK PropSheetPageProc(HWND hWnd, UINT uMsg,
  44. LPPROPSHEETPAGE ppsp);
  45. };
  46. #endif // _NCATLPS_H_