ReactOS 0.4.15-dev-8061-g57b775e
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,
16{
17public:
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
64protected:
65 CString m_Filename;
72
73public:
75
82 CHAIN_MSG_MAP(CPropertyPageImpl<CLayerUIPropPage>)
84
87
89
91 COM_INTERFACE_ENTRY_IID(IID_IShellExtInit, IShellExtInit)
92 COM_INTERFACE_ENTRY_IID(IID_IShellPropSheetExt, IShellPropSheetExt)
94};
LONG g_ModuleRefCnt
Definition: ACPPage.cpp:13
#define InterlockedIncrement
Definition: armddk.h:53
#define InterlockedDecrement
Definition: armddk.h:52
@ Create
Definition: registry.c:563
#define STDMETHODIMP
Definition: basetyps.h:43
CSimpleArray< CString > m_CustomLayers
LRESULT OnEditModes(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
LRESULT OnCtrlCommand(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL &bHandled)
BOOL HasChanges() const
HRESULT InitFile(PCWSTR Filename)
LRESULT OnClickNotify(INT uCode, LPNMHDR hdr, BOOL &bHandled)
CSimpleArray< CString > m_RegistryCustomLayers
STDMETHODIMP ReplacePage(UINT, LPFNADDPROPSHEETPAGE, LPARAM)
LRESULT OnInitDialog(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
STDMETHODIMP AddPages(LPFNADDPROPSHEETPAGE pfnAddPage, LPARAM lParam)
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define E_NOTIMPL
Definition: ddrawi.h:99
#define IDD_ACPPAGESHEET
Definition: resource.h:3
#define IDR_ACPPAGE
Definition: resource.h:30
#define IDC_EDITCOMPATIBILITYMODES
Definition: resource.h:12
#define IDC_CHKDISABLEVISUALTHEMES
Definition: resource.h:11
#define IDC_CHKRUNCOMPATIBILITY
Definition: resource.h:7
BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE hPropPage)
Definition: propsheet.c:3152
IN PVCB IN PBCB OUT PDIRENT IN USHORT IN POEM_STRING Filename
Definition: fatprocs.h:939
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
#define S_OK
Definition: intsafe.h:52
char hdr[14]
Definition: iptest.cpp:33
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:581
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:601
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:679
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:651
#define DECLARE_REGISTRY_RESOURCEID(x)
Definition: atlcom.h:645
#define END_COM_MAP()
Definition: atlcom.h:592
#define MESSAGE_HANDLER(msg, func)
Definition: atlwin.h:1926
#define NOTIFY_CODE_HANDLER(cd, func)
Definition: atlwin.h:1980
#define CHAIN_MSG_MAP(theChainClass)
Definition: atlwin.h:1998
#define BEGIN_MSG_MAP(theClass)
Definition: atlwin.h:1898
#define COMMAND_ID_HANDLER(id, func)
Definition: atlwin.h:1953
#define END_MSG_MAP()
Definition: atlwin.h:1917
#define COMMAND_RANGE_HANDLER(idFirst, idLast, func)
Definition: atlwin.h:1971
struct _PSP * HPROPSHEETPAGE
Definition: mstask.idl:90
unsigned int UINT
Definition: ndis.h:50
interface IDataObject * LPDATAOBJECT
Definition: objfwd.h:21
BOOL(CALLBACK * LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM)
Definition: prsht.h:327
#define NM_CLICK
Definition: commctrl.h:130
#define NM_RETURN
Definition: commctrl.h:132
int32_t INT_PTR
Definition: typedefs.h:64
const uint16_t * PCWSTR
Definition: typedefs.h:57
int32_t INT
Definition: typedefs.h:58
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
#define WM_INITDIALOG
Definition: winuser.h:1739
static void Initialize()
Definition: xlate.c:212