ReactOS  0.4.14-dev-297-g23e575c
CLayerUIPropPage.hpp
Go to the documentation of this file.
1 /*
2  * PROJECT: ReactOS Compatibility Layer Shell Extension
3  * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later)
4  * PURPOSE: CLayerUIPropPage definition
5  * COPYRIGHT: Copyright 2015-2019 Mark Jansen (mark.jansen@reactos.org)
6  */
7 
8 #pragma once
9 
11  public CPropertyPageImpl<CLayerUIPropPage>,
12  public CComCoClass<CLayerUIPropPage, &CLSID_CLayerUIPropPage>,
13  public CComObjectRootEx<CComMultiThreadModelNoCS>,
14  public IShellExtInit,
15  public IShellPropSheetExt
16 {
17 public:
19 
22 
23  // IShellExtInit
24  STDMETHODIMP Initialize(PCIDLIST_ABSOLUTE pidlFolder, LPDATAOBJECT pdtobj, HKEY hkeyProgID);
25 
26 
27  // IShellPropSheetExt
29  {
30  HPROPSHEETPAGE hPage = Create();
31  if (hPage && !pfnAddPage(hPage, lParam))
33 
34  return S_OK;
35  }
36 
38  {
39  return E_NOTIMPL;
40  }
41 
43  {
45  }
46 
48  {
50  }
51 
53  void UpdateControls();
55  BOOL HasChanges() const;
56 
57  int OnSetActive();
58  int OnApply();
60  LRESULT OnCtrlCommand(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled);
61  LRESULT OnEditModes(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled);
62  LRESULT OnClickNotify(INT uCode, LPNMHDR hdr, BOOL& bHandled);
63 
64 protected:
72 
73 public:
74  enum { IDD = IDD_ACPPAGESHEET };
75 
82  CHAIN_MSG_MAP(CPropertyPageImpl<CLayerUIPropPage>)
83  END_MSG_MAP()
84 
87 
89 
91  COM_INTERFACE_ENTRY_IID(IID_IShellExtInit, IShellExtInit)
92  COM_INTERFACE_ENTRY_IID(IID_IShellPropSheetExt, IShellPropSheetExt)
93  END_COM_MAP()
94 };
#define IDC_CHKDISABLEVISUALTHEMES
Definition: resource.h:11
const uint16_t * PCWSTR
Definition: typedefs.h:55
char hdr[14]
Definition: iptest.cpp:33
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
#define IDD_ACPPAGESHEET
Definition: resource.h:3
#define IDC_EDITCOMPATIBILITYMODES
Definition: resource.h:12
#define IDC_CHKRUNCOMPATIBILITY
Definition: resource.h:7
STDMETHODIMP Initialize(PCIDLIST_ABSOLUTE pidlFolder, LPDATAOBJECT pdtobj, HKEY hkeyProgID)
BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE hPropPage)
Definition: propsheet.c:3144
LONG g_ModuleRefCnt
Definition: ACPPage.cpp:13
_In_ BOOLEAN Create
Definition: pstypes.h:511
CSimpleArray< CString > m_CustomLayers
LRESULT OnCtrlCommand(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
#define COMMAND_RANGE_HANDLER(idFirst, idLast, func)
Definition: atlwin.h:1843
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:611
BOOL(CALLBACK * LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM)
Definition: prsht.h:309
UINT_PTR WPARAM
Definition: windef.h:207
int32_t INT_PTR
Definition: typedefs.h:62
int32_t INT
Definition: typedefs.h:56
WPARAM wParam
Definition: combotst.c:138
IN PVCB IN PBCB OUT PDIRENT IN USHORT IN POEM_STRING Filename
Definition: fatprocs.h:925
#define IDR_ACPPAGE
Definition: resource.h:30
unsigned int BOOL
Definition: ntddk_ex.h:94
CSimpleArray< CString > m_RegistryCustomLayers
struct _PSP * HPROPSHEETPAGE
Definition: mstask.idl:90
#define STDMETHODIMP
Definition: basetyps.h:43
LONG_PTR LPARAM
Definition: windef.h:208
#define COMMAND_ID_HANDLER(id, func)
Definition: atlwin.h:1825
STDMETHODIMP AddPages(LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam)
LRESULT OnClickNotify(INT uCode, LPNMHDR hdr, BOOL &bHandled)
LRESULT OnEditModes(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:541
CStringA CString
Definition: atlstr.h:139
HRESULT InitFile(PCWSTR Filename)
LONG HRESULT
Definition: typedefs.h:77
#define END_MSG_MAP()
Definition: atlwin.h:1789
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
#define InterlockedDecrement
Definition: armddk.h:52
#define CHAIN_MSG_MAP(theChainClass)
Definition: atlwin.h:1870
interface IDataObject * LPDATAOBJECT
Definition: objfwd.h:21
#define DECLARE_REGISTRY_RESOURCEID(x)
Definition: atlcom.h:605
BOOL HasChanges() const
#define NM_CLICK
Definition: commctrl.h:130
#define NM_RETURN
Definition: commctrl.h:132
#define S_OK
Definition: intsafe.h:59
#define InterlockedIncrement
Definition: armddk.h:53
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:561
#define E_NOTIMPL
Definition: ddrawi.h:99
STDMETHODIMP ReplacePage(UINT, LPFNADDPROPSHEETPAGE, LPARAM)
unsigned int UINT
Definition: ndis.h:50
#define NOTIFY_CODE_HANDLER(cd, func)
Definition: atlwin.h:1852
#define BEGIN_MSG_MAP(theClass)
Definition: atlwin.h:1770
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:639
#define MESSAGE_HANDLER(msg, func)
Definition: atlwin.h:1798
#define END_COM_MAP()
Definition: atlcom.h:552
LONG_PTR LRESULT
Definition: windef.h:209
#define WM_INITDIALOG
Definition: winuser.h:1721
LPARAM lParam
Definition: combotst.c:139