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.

74 lines
2.3 KiB

  1. /*****************************************************************************\
  2. FILE: EffectsAdvPg.h
  3. DESCRIPTION:
  4. This code will display the Effect tab in the Advanced Display Control
  5. panel.
  6. BryanSt 4/13/2000 Updated and Converted to C++
  7. Copyright (C) Microsoft Corp 2000-2000. All rights reserved.
  8. \*****************************************************************************/
  9. #ifndef _EFFECTSADVPG_H
  10. #define _EFFECTSADVPG_H
  11. #include "store.h"
  12. #include <cowsite.h> // for CObjectWithSite
  13. #include <shpriv.h>
  14. class CEffectsPage;
  15. #include "EffectsBasePg.h"
  16. static const GUID IID_CEffectsPage_THIS = { 0xef2b6246, 0x6c1b, 0x44fd, { 0x87, 0xea, 0xb3, 0xc5, 0xd, 0x47, 0x8b, 0x8e } };// {EF2B6246-6C1B-44fd-87EA-B3C50D478B8E}
  17. #define PROPSHEET_CLASS CEffectsBasePage
  18. class CPropSheetExt;
  19. HRESULT CEffectsPage_CreateInstance(OUT IAdvancedDialog ** ppAdvDialog);
  20. class CEffectsPage : public CObjectWithSite
  21. , public IAdvancedDialog
  22. {
  23. public:
  24. //////////////////////////////////////////////////////
  25. // Public Interfaces
  26. //////////////////////////////////////////////////////
  27. // *** IUnknown ***
  28. virtual STDMETHODIMP QueryInterface(REFIID riid, LPVOID * ppvObj);
  29. virtual STDMETHODIMP_(ULONG) AddRef(void);
  30. virtual STDMETHODIMP_(ULONG) Release(void);
  31. // *** IAdvancedDialog ***
  32. virtual STDMETHODIMP DisplayAdvancedDialog(IN HWND hwndParent, IN IPropertyBag * pBasePage, IN BOOL * pfEnableApply);
  33. private:
  34. CEffectsPage(void);
  35. virtual ~CEffectsPage(void);
  36. // Private Member Variables
  37. long m_cRef;
  38. BOOL m_fDirty;
  39. CEffectState * m_pEffectsState;
  40. // Private Member Functions
  41. HRESULT _OnInit(HWND hDlg);
  42. HRESULT _OnApply(HWND hDlg); // The user clicked apply
  43. HRESULT _IsDirty(IN BOOL * pIsDirty);
  44. INT_PTR _OnCommand(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
  45. INT_PTR _PropertySheetDlgProc(HWND hDlg, UINT uMessage, WPARAM wParam, LPARAM lParam);
  46. friend INT_PTR CALLBACK PropertySheetDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);
  47. friend HRESULT CEffectsPage_CreateInstance(OUT IAdvancedDialog ** ppAdvDialog);
  48. };
  49. #endif // _EFFECTSADVPG_H