89 lines
1.9 KiB
C++
89 lines
1.9 KiB
C++
//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
|
|
//
|
|
// chanmenu.h
|
|
//
|
|
// Conext menu interface for items.
|
|
//
|
|
// History:
|
|
//
|
|
// 3/26/97 edwardp Created.
|
|
//
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//
|
|
// Check for previous includes of this file.
|
|
//
|
|
|
|
#ifndef _CHANMENU_H_
|
|
|
|
#define _CHANMENU_H_
|
|
|
|
//
|
|
// Class definition for the item context menu class.
|
|
//
|
|
|
|
class CChannelMenu : public IContextMenu,
|
|
public IShellExtInit
|
|
{
|
|
//
|
|
// Methods
|
|
//
|
|
|
|
public:
|
|
|
|
// Constructor
|
|
CChannelMenu(void);
|
|
|
|
// IUnknown
|
|
STDMETHODIMP QueryInterface(REFIID, void **);
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// IContextMenu methods.
|
|
STDMETHODIMP QueryContextMenu(HMENU hmenu,
|
|
UINT indexMenu,
|
|
UINT idCmdFirst,
|
|
UINT idCmdLast,
|
|
UINT uFlags);
|
|
|
|
STDMETHODIMP InvokeCommand(LPCMINVOKECOMMANDINFO lpici);
|
|
|
|
STDMETHODIMP GetCommandString(UINT_PTR idCommand,
|
|
UINT uFLags,
|
|
UINT *pwReserved,
|
|
LPSTR pszName,
|
|
UINT cchMax);
|
|
|
|
// ISHelExtInit
|
|
STDMETHODIMP Initialize(LPCITEMIDLIST pidl, LPDATAOBJECT pdobj, HKEY hkey);
|
|
|
|
private:
|
|
|
|
// Destructor.
|
|
~CChannelMenu(void);
|
|
|
|
// Helper functions.
|
|
void RemoveMenuItems(HMENU hmenu);
|
|
void Refresh(HWND hwnd);
|
|
void ViewSource(HWND hwnd);
|
|
HRESULT Subscribe(HWND hwnd);
|
|
|
|
|
|
//
|
|
// Member variables.
|
|
//
|
|
|
|
private:
|
|
|
|
ULONG m_cRef;
|
|
ISubscriptionMgr* m_pSubscriptionMgr;
|
|
BSTR m_bstrURL;
|
|
BSTR m_bstrName;
|
|
TCHAR m_szPath[MAX_PATH];
|
|
TASK_TRIGGER m_tt;
|
|
SUBSCRIPTIONINFO m_si;
|
|
};
|
|
|
|
|
|
#endif // _CHANMENU_H_
|