97 lines
2.2 KiB
C
97 lines
2.2 KiB
C
|
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
|
||
|
//
|
||
|
// proppgs.h
|
||
|
//
|
||
|
// IShellPropSheetExt menu interface for items.
|
||
|
//
|
||
|
// History:
|
||
|
//
|
||
|
// 3/26/97 edwardp Created.
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
//
|
||
|
// Check for previous includes of this file.
|
||
|
//
|
||
|
|
||
|
#ifndef _PROPPGS_H_
|
||
|
|
||
|
#define _PROPPGS_H_
|
||
|
|
||
|
//
|
||
|
// Class definition for the item context menu class.
|
||
|
//
|
||
|
|
||
|
class CPropertyPages : public IShellPropSheetExt,
|
||
|
public IShellExtInit
|
||
|
{
|
||
|
//
|
||
|
// Methods
|
||
|
//
|
||
|
|
||
|
public:
|
||
|
|
||
|
// Constructor
|
||
|
CPropertyPages(void);
|
||
|
|
||
|
// IUnknown
|
||
|
STDMETHODIMP QueryInterface(REFIID, void **);
|
||
|
STDMETHODIMP_(ULONG) AddRef(void);
|
||
|
STDMETHODIMP_(ULONG) Release(void);
|
||
|
|
||
|
// IShellPropSheetExt
|
||
|
STDMETHODIMP AddPages(LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam);
|
||
|
|
||
|
STDMETHODIMP ReplacePage(UINT uPageID, LPFNADDPROPSHEETPAGE lpfnAddPage,
|
||
|
LPARAM lParam);
|
||
|
|
||
|
// IShellExtInit
|
||
|
STDMETHODIMP Initialize(LPCITEMIDLIST pidl, LPDATAOBJECT pdobj, HKEY hkey);
|
||
|
|
||
|
|
||
|
private:
|
||
|
|
||
|
// Destructor.
|
||
|
~CPropertyPages(void);
|
||
|
|
||
|
// Helper functions.
|
||
|
|
||
|
BOOL OnInitDialog(HWND hdlg);
|
||
|
BOOL OnCommand(HWND hdlg, WORD wNotifyCode, WORD wID, HWND hwndCtl);
|
||
|
BOOL OnNotify(HWND hdlg, WPARAM idCtrl, LPNMHDR pnmh);
|
||
|
void OnDestroy(HWND hdlg);
|
||
|
void ShowOfflineSummary(HWND hdlg, BOOL bShow);
|
||
|
void AddRemoveSubsPages(HWND hdlg, BOOL bAdd);
|
||
|
HRESULT InitializeSubsMgr2();
|
||
|
|
||
|
static INT_PTR PropSheetDlgProc(HWND hdlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||
|
static UINT PropSheetCallback(HWND hwnd, UINT uMsg, LPPROPSHEETPAGE ppsp);
|
||
|
|
||
|
inline static CPropertyPages *GetThis(HWND hdlg)
|
||
|
{
|
||
|
CPropertyPages *pThis = (CPropertyPages*) GetWindowLongPtr(hdlg, DWLP_USER);
|
||
|
|
||
|
ASSERT(NULL != pThis);
|
||
|
|
||
|
return pThis;
|
||
|
}
|
||
|
|
||
|
|
||
|
//
|
||
|
// Member variables.
|
||
|
//
|
||
|
|
||
|
private:
|
||
|
|
||
|
ULONG m_cRef;
|
||
|
ISubscriptionMgr2* m_pSubscriptionMgr2;
|
||
|
IDataObject* m_pInitDataObject;
|
||
|
TCHAR m_szPath[MAX_PATH];
|
||
|
TCHAR m_szURL[INTERNET_MAX_URL_LENGTH];
|
||
|
WORD m_wHotkey;
|
||
|
BOOL m_bStartSubscribed;
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif // _PROPPGS_H_
|