#include <CCopyToMoveToMenu.h>
|
| CMoveToMenu () |
|
| ~CMoveToMenu () |
|
virtual HRESULT WINAPI | QueryContextMenu (HMENU hMenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) |
|
virtual HRESULT WINAPI | InvokeCommand (LPCMINVOKECOMMANDINFO lpcmi) |
|
virtual HRESULT WINAPI | GetCommandString (UINT_PTR idCommand, UINT uFlags, UINT *lpReserved, LPSTR lpszName, UINT uMaxNameLen) |
|
virtual HRESULT WINAPI | HandleMenuMsg (UINT uMsg, WPARAM wParam, LPARAM lParam) |
|
virtual HRESULT WINAPI | Initialize (PCIDLIST_ABSOLUTE pidlFolder, IDataObject *pdtobj, HKEY hkeyProgID) |
|
virtual HRESULT WINAPI | SetSite (IUnknown *pUnkSite) |
|
virtual HRESULT WINAPI | GetSite (REFIID riid, void **ppvSite) |
|
| ~CComObjectRootEx () |
|
ULONG | InternalAddRef () |
|
ULONG | InternalRelease () |
|
void | Lock () |
|
void | Unlock () |
|
HRESULT | _AtlInitialConstruct () |
|
| 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) |
|
HRESULT | QueryInterface ([in] REFIID riid, [out, iid_is(riid)] void **ppvObject) |
|
ULONG | AddRef () |
|
ULONG | Release () |
|
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) |
|
Definition at line 62 of file CCopyToMoveToMenu.h.
◆ CMoveToMenu()
CMoveToMenu::CMoveToMenu |
( |
| ) |
|
◆ ~CMoveToMenu()
CMoveToMenu::~CMoveToMenu |
( |
| ) |
|
◆ DoGetFileTitle()
CStringW CMoveToMenu::DoGetFileTitle |
( |
| ) |
|
|
protected |
Definition at line 192 of file CMoveToMenu.cpp.
193{
195
199
201 if (!pidlParent)
202 {
203 ERR(
"HIDA_GetPIDLFolder failed\n");
205 }
206
209 if (!pidlRelative)
210 {
211 ERR(
"HIDA_GetPIDLItem failed\n");
213 }
214
216
219 else
220 ERR(
"Cannot get path\n");
221
222 if (pCIDA->cidl > 1)
224
226}
LPWSTR WINAPI PathFindFileNameW(LPCWSTR lpszPath)
LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
static PCUIDLIST_RELATIVE HIDA_GetPIDLItem(CIDA const *pida, SIZE_T i)
#define FAILED_UNEXPECTEDLY(hr)
static PCUIDLIST_ABSOLUTE HIDA_GetPIDLFolder(CIDA const *pida)
const ITEMIDLIST_ABSOLUTE UNALIGNED * PCUIDLIST_ABSOLUTE
const ITEMIDLIST_RELATIVE UNALIGNED * PCUIDLIST_RELATIVE
Referenced by DoMoveToFolder().
◆ DoMoveToFolder()
Definition at line 228 of file CMoveToMenu.cpp.
229{
232
233 TRACE(
"DoMoveToFolder(%p)\n", lpici);
234
236 {
237 ERR(
"SHGetPathFromIDListW failed\n");
239 }
240
244
247 info.lpszTitle = strTitle;
252 if (pidl)
253 {
255 }
256
258}
void __cdecl Format(UINT nFormatID,...)
static INT CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
#define BIF_RETURNONLYFSDIRS
#define SHBrowseForFolder
Referenced by InvokeCommand().
◆ DoRealMove()
Definition at line 128 of file CMoveToMenu.cpp.
129{
132 return pCIDA.hr();
133
135 if (!pidlParent)
136 {
137 ERR(
"HIDA_GetPIDLFolder failed\n");
139 }
140
143 for (
UINT n = 0;
n < pCIDA->cidl; ++
n)
144 {
146 if (!pidlRelative)
147 continue;
148
150 if (!pidl)
152
154
158 }
159
162
165 else
169 {
171 }
172 else
173 {
174 ERR(
"Too long path\n");
176 }
177
185 {
186 ERR(
"SHFileOperationW failed with 0x%x\n",
res);
188 }
190}
BOOL _ILIsDesktop(LPCITEMIDLIST pidl)
int Replace(PCXSTR pszOld, PCXSTR pszNew)
BOOL WINAPI SHGetSpecialFolderPathW(HWND hwndOwner, LPWSTR szPath, int nFolder, BOOL bCreate)
int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp)
#define CSIDL_DESKTOPDIRECTORY
Referenced by DoMoveToFolder().
◆ GetCommandString()
◆ GetSite()
◆ HandleMenuMsg()
◆ Initialize()
◆ InvokeCommand()
Implements IContextMenu.
Definition at line 321 of file CMoveToMenu.cpp.
322{
324 TRACE(
"CMoveToMenu::InvokeCommand(%p)\n", lpici);
325
326 if (
HIWORD(lpici->lpVerb) == 0)
327 {
329 {
331 }
332 }
333 else
334 {
336 {
338 }
339 }
340
342}
int WINAPI lstrcmpiA(LPCSTR lpString1, LPCSTR lpString2)
◆ QueryContextMenu()
Implements IContextMenu.
Definition at line 261 of file CMoveToMenu.cpp.
266{
269
270 TRACE(
"CMoveToMenu::QueryContextMenu(%p, %u, %u, %u, %u)\n",
271 hMenu, indexMenu, idCmdFirst, idCmdLast,
uFlags);
272
273 if (
uFlags & (CMF_NOVERBS | CMF_VERBSONLY))
275
277
278
289 {
295 {
296 ++indexMenu;
298 }
299 }
300
301
311 {
313 ++indexMenu;
315 }
316
318}
#define MAKE_HRESULT(sev, fac, code)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
BOOL WINAPI GetMenuItemInfoW(_In_ HMENU, _In_ UINT, _In_ BOOL, _Inout_ LPMENUITEMINFOW)
#define MAKEINTRESOURCEW(i)
BOOL WINAPI InsertMenuItemW(_In_ HMENU, _In_ UINT, _In_ BOOL, _In_ LPCMENUITEMINFOW)
◆ SetSite()
◆ m_bIgnoreTextBoxChange
BOOL CMoveToMenu::m_bIgnoreTextBoxChange |
◆ m_fnOldWndProc
WNDPROC CMoveToMenu::m_fnOldWndProc |
◆ m_idCmdFirst
UINT CMoveToMenu::m_idCmdFirst |
|
protected |
◆ m_idCmdLast
UINT CMoveToMenu::m_idCmdLast |
|
protected |
◆ m_idCmdMoveTo
UINT CMoveToMenu::m_idCmdMoveTo |
|
protected |
◆ m_pDataObject
◆ m_pidlFolder
◆ m_pSite
The documentation for this class was generated from the following files: