ReactOS 0.4.15-dev-7942-gd23573b
CMoveToMenu Class Reference

#include <CCopyMoveToMenu.h>

Inheritance diagram for CMoveToMenu:
Collaboration diagram for CMoveToMenu:

Public Member Functions

 CMoveToMenu ()
 
STDMETHODIMP QueryContextMenu (HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) override
 
UINT GetCaptionStringID () const override
 
UINT GetButtonStringID () const override
 
UINT GetActionTitleStringID () const override
 
UINT GetFileOp () const override
 
LPCSTR GetVerb () const override
 
- Public Member Functions inherited from CCopyMoveToMenu
 CCopyMoveToMenu ()
 
virtual UINT GetCaptionStringID () const =0
 
virtual UINT GetButtonStringID () const =0
 
virtual UINT GetActionTitleStringID () const =0
 
virtual UINT GetFileOp () const =0
 
virtual LPCSTR GetVerb () const =0
 
STDMETHODIMP GetCommandString (UINT_PTR idCommand, UINT uFlags, UINT *lpReserved, LPSTR lpszName, UINT uMaxNameLen) override
 
STDMETHODIMP InvokeCommand (LPCMINVOKECOMMANDINFO lpcmi) override
 
STDMETHODIMP HandleMenuMsg (UINT uMsg, WPARAM wParam, LPARAM lParam) override
 
STDMETHODIMP Initialize (PCIDLIST_ABSOLUTE pidlFolder, IDataObject *pdtobj, HKEY hkeyProgID) override
 
STDMETHODIMP SetSite (IUnknown *pUnkSite) override
 
STDMETHODIMP GetSite (REFIID riid, void **ppvSite) override
 
- Public Member Functions inherited from ATL::CComObjectRootEx< CComMultiThreadModelNoCS >
 ~CComObjectRootEx ()
 
ULONG InternalAddRef ()
 
ULONG InternalRelease ()
 
void Lock ()
 
void Unlock ()
 
HRESULT _AtlInitialConstruct ()
 
- Public Member Functions inherited from ATL::CComObjectRootBase
 CComObjectRootBase ()
 
 ~CComObjectRootBase ()
 
void SetVoid (void *)
 
HRESULT _AtlFinalConstruct ()
 
HRESULT FinalConstruct ()
 
void InternalFinalConstructAddRef ()
 
void InternalFinalConstructRelease ()
 
void FinalRelease ()
 
HRESULT HandleMenuMsg ([in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam)
 
HRESULT QueryContextMenu ([in] HMENU hmenu, [in] UINT indexMenu, [in] UINT idCmdFirst, [in] UINT idCmdLast, [in] UINT uFlags)
 
HRESULT InvokeCommand ([in] LPCMINVOKECOMMANDINFO lpici)
 
HRESULT GetCommandString ([in] UINT_PTR idCmd, [in] UINT uType, [out] UINT *pwReserved, [out, size_is(cchMax)] LPSTR pszName, [in] UINT cchMax)
 
- Public Member Functions inherited from IUnknown
HRESULT QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject)
 
ULONG AddRef ()
 
ULONG Release ()
 
- Public Member Functions inherited from IObjectWithSite
HRESULT SetSite ([in] IUnknown *pUnkSite)
 
HRESULT GetSite ([in] REFIID riid, [out, iid_is(riid)] PVOID *ppvSite)
 
HRESULT Initialize ([in] PCIDLIST_ABSOLUTE pidlFolder, [in] IDataObject *pdtobj, [in] HKEY hkeyProgID)
 

Additional Inherited Members

- Public Types inherited from IContextMenu2
typedef IContextMenu2LPCONTEXTMENU2
 
- Public Types inherited from IContextMenu
typedef IContextMenuLPCONTEXTMENU
 
typedef struct IContextMenu::tagCMINVOKECOMMANDINFO CMINVOKECOMMANDINFO
 
typedef struct IContextMenu::tagCMINVOKECOMMANDINFOLPCMINVOKECOMMANDINFO
 
typedef struct IContextMenu::tagCMInvokeCommandInfoEx CMINVOKECOMMANDINFOEX
 
typedef struct IContextMenu::tagCMInvokeCommandInfoExLPCMINVOKECOMMANDINFOEX
 
- Public Types inherited from IUnknown
typedef IUnknownLPUNKNOWN
 
- Public Types inherited from IObjectWithSite
typedef IObjectWithSiteLPOBJECTWITHSITE
 
- Public Types inherited from IShellExtInit
typedef IShellExtInitLPSHELLEXTINIT
 
- Static Public Member Functions inherited from ATL::CComObjectRootBase
static void WINAPI ObjectMain (bool)
 
static const struct _ATL_CATMAP_ENTRYGetCategoryMap ()
 
static HRESULT WINAPI InternalQueryInterface (void *pThis, const _ATL_INTMAP_ENTRY *pEntries, REFIID iid, void **ppvObject)
 
- Public Attributes inherited from CCopyMoveToMenu
CComHeapPtr< ITEMIDLISTm_pidlFolder
 
WNDPROC m_fnOldWndProc
 
BOOL m_bIgnoreTextBoxChange
 
- Public Attributes inherited from ATL::CComObjectRootBase
LONG m_dwRef
 
- Static Public Attributes inherited from IContextMenu
static const WCHAR CMDSTR_NEWFOLDERW [] = {'N','e','w','F','o','l','d','e','r',0}
 
static const WCHAR CMDSTR_VIEWLISTW [] = {'V','i','e','w','L','i','s','t',0}
 
static const WCHAR CMDSTR_VIEWDETAILSW [] = {'V','i','e','w','D','e','t','a','i','l','s',0}
 
- Protected Member Functions inherited from CCopyMoveToMenu
HRESULT DoRealFileOp (LPCMINVOKECOMMANDINFO lpici, PCUIDLIST_ABSOLUTE pidl)
 
HRESULT DoAction (LPCMINVOKECOMMANDINFO lpici)
 
- Protected Attributes inherited from CCopyMoveToMenu
UINT m_idCmdFirst
 
UINT m_idCmdLast
 
UINT m_idCmdAction
 
CComPtr< IDataObjectm_pDataObject
 
CComPtr< IUnknownm_pSite
 

Detailed Description

Definition at line 84 of file CCopyMoveToMenu.h.

Constructor & Destructor Documentation

◆ CMoveToMenu()

CMoveToMenu::CMoveToMenu ( )
inline

Definition at line 89 of file CCopyMoveToMenu.h.

89{ }

Member Function Documentation

◆ GetActionTitleStringID()

UINT CMoveToMenu::GetActionTitleStringID ( ) const
inlineoverridevirtual

Implements CCopyMoveToMenu.

Definition at line 108 of file CCopyMoveToMenu.h.

108{ return IDS_MOVETOTITLE; }
#define IDS_MOVETOTITLE
Definition: shresdef.h:346

◆ GetButtonStringID()

UINT CMoveToMenu::GetButtonStringID ( ) const
inlineoverridevirtual

Implements CCopyMoveToMenu.

Definition at line 107 of file CCopyMoveToMenu.h.

107{ return IDS_MOVEBUTTON; }
#define IDS_MOVEBUTTON
Definition: shresdef.h:348

◆ GetCaptionStringID()

UINT CMoveToMenu::GetCaptionStringID ( ) const
inlineoverridevirtual

Implements CCopyMoveToMenu.

Definition at line 106 of file CCopyMoveToMenu.h.

106{ return IDS_MOVEITEMS; }
#define IDS_MOVEITEMS
Definition: shresdef.h:347

◆ GetFileOp()

UINT CMoveToMenu::GetFileOp ( ) const
inlineoverridevirtual

Implements CCopyMoveToMenu.

Definition at line 109 of file CCopyMoveToMenu.h.

109{ return FO_MOVE; }
#define FO_MOVE
Definition: shellapi.h:136

◆ GetVerb()

LPCSTR CMoveToMenu::GetVerb ( ) const
inlineoverridevirtual

Implements CCopyMoveToMenu.

Definition at line 110 of file CCopyMoveToMenu.h.

110{ return "moveto"; }

◆ QueryContextMenu()

STDMETHODIMP CMoveToMenu::QueryContextMenu ( HMENU  hMenu,
UINT  indexMenu,
UINT  idCmdFirst,
UINT  idCmdLast,
UINT  uFlags 
)
override

Implements IContextMenu.

Definition at line 316 of file CCopyMoveToMenu.cpp.

321{
322 MENUITEMINFOW mii;
323 UINT Count = 0;
324
325 TRACE("CMoveToMenu::QueryContextMenu(%p, %u, %u, %u, %u)\n",
326 hMenu, indexMenu, idCmdFirst, idCmdLast, uFlags);
327
328 if (uFlags & (CMF_NOVERBS | CMF_VERBSONLY))
329 return MAKE_HRESULT(SEVERITY_SUCCESS, 0, idCmdFirst);
330
331 m_idCmdFirst = m_idCmdLast = idCmdFirst;
332
333 // insert separator if necessary
335 WCHAR szBuff[128];
336 ZeroMemory(&mii, sizeof(mii));
337 mii.cbSize = sizeof(mii);
338 mii.fMask = MIIM_TYPE;
339 mii.dwTypeData = szBuff;
340 mii.cch = _countof(szBuff);
341 if (GetMenuItemInfoW(hMenu, indexMenu - 1, TRUE, &mii) &&
342 mii.fType != MFT_SEPARATOR &&
343 !(mii.fType == MFT_STRING && CStringW(szBuff) == strCopyTo))
344 {
345 ZeroMemory(&mii, sizeof(mii));
346 mii.cbSize = sizeof(mii);
347 mii.fMask = MIIM_TYPE;
348 mii.fType = MFT_SEPARATOR;
349 if (InsertMenuItemW(hMenu, indexMenu, TRUE, &mii))
350 {
351 ++indexMenu;
352 ++Count;
353 }
354 }
355
356 // insert "Move to folder..."
358 ZeroMemory(&mii, sizeof(mii));
359 mii.cbSize = sizeof(mii);
360 mii.fMask = MIIM_ID | MIIM_TYPE;
361 mii.fType = MFT_STRING;
362 mii.dwTypeData = strText.GetBuffer();
363 mii.cch = wcslen(mii.dwTypeData);
364 mii.wID = m_idCmdLast;
365 if (InsertMenuItemW(hMenu, indexMenu, TRUE, &mii))
366 {
368 ++indexMenu;
369 ++Count;
370 }
371
372 return MAKE_HRESULT(SEVERITY_SUCCESS, 0, idCmdFirst + Count);
373}
#define TRUE
Definition: types.h:120
UINT uFlags
Definition: api.c:59
#define MAKE_HRESULT(sev, fac, code)
Definition: dmerror.h:30
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
unsigned int UINT
Definition: ndis.h:50
int Count
Definition: noreturn.cpp:7
#define IDS_MOVETOMENU
Definition: shresdef.h:345
#define IDS_COPYTOMENU
Definition: shresdef.h:341
#define _countof(array)
Definition: sndvol32.h:68
#define TRACE(s)
Definition: solgame.cpp:4
LPWSTR dwTypeData
Definition: winuser.h:3269
#define ZeroMemory
Definition: winbase.h:1712
#define SEVERITY_SUCCESS
Definition: winerror.h:64
#define MIIM_ID
Definition: winuser.h:722
#define MFT_SEPARATOR
Definition: winuser.h:744
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)
#define MFT_STRING
Definition: winuser.h:746
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
#define MIIM_TYPE
Definition: winuser.h:725
BOOL WINAPI InsertMenuItemW(_In_ HMENU, _In_ UINT, _In_ BOOL, _In_ LPCMENUITEMINFOW)
__wchar_t WCHAR
Definition: xmlstorage.h:180

The documentation for this class was generated from the following files: