#include <CCopyToMoveToMenu.h>
|
| CCopyToMenu () |
|
| ~CCopyToMenu () |
|
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 10 of file CCopyToMoveToMenu.h.
◆ CCopyToMenu()
CCopyToMenu::CCopyToMenu |
( |
| ) |
|
◆ ~CCopyToMenu()
CCopyToMenu::~CCopyToMenu |
( |
| ) |
|
◆ DoCopyToFolder()
Definition at line 229 of file CCopyToMenu.cpp.
230{
233
234 TRACE(
"DoCopyToFolder(%p)\n", lpici);
235
237 {
238 ERR(
"SHGetPathFromIDListW failed\n");
240 }
241
245
248 info.lpszTitle = strTitle;
253 if (pidl)
254 {
256 }
257
259}
void __cdecl Format(UINT nFormatID,...)
static INT CALLBACK BrowseCallbackProc(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData)
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST pidl, LPWSTR pszPath)
#define BIF_RETURNONLYFSDIRS
#define SHBrowseForFolder
Referenced by InvokeCommand().
◆ DoGetFileTitle()
CStringW CCopyToMenu::DoGetFileTitle |
( |
| ) |
|
|
protected |
Definition at line 193 of file CCopyToMenu.cpp.
194{
196
200
202 if (!pidlParent)
203 {
204 ERR(
"HIDA_GetPIDLFolder failed\n");
206 }
207
210 if (!pidlRelative)
211 {
212 ERR(
"HIDA_GetPIDLItem failed\n");
214 }
215
217
220 else
221 ERR(
"Cannot get path\n");
222
223 if (pCIDA->cidl > 1)
225
227}
LPWSTR WINAPI PathFindFileNameW(LPCWSTR lpszPath)
LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
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 DoCopyToFolder().
◆ DoRealCopy()
Definition at line 129 of file CCopyToMenu.cpp.
130{
133 return pCIDA.hr();
134
136 if (!pidlParent)
137 {
138 ERR(
"HIDA_GetPIDLFolder failed\n");
140 }
141
144 for (
UINT n = 0;
n < pCIDA->cidl; ++
n)
145 {
147 if (!pidlRelative)
148 continue;
149
151 if (!pidl)
153
155
159 }
160
163
166 else
170 {
172 }
173 else
174 {
175 ERR(
"Too long path\n");
177 }
178
186 {
187 ERR(
"SHFileOperationW failed with 0x%x\n",
res);
189 }
191}
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 DoCopyToFolder().
◆ GetCommandString()
◆ GetSite()
◆ HandleMenuMsg()
◆ Initialize()
◆ InvokeCommand()
Implements IContextMenu.
Definition at line 317 of file CCopyToMenu.cpp.
318{
320 TRACE(
"CCopyToMenu::InvokeCommand(%p)\n", lpici);
321
322 if (
HIWORD(lpici->lpVerb) == 0)
323 {
325 {
327 }
328 }
329 else
330 {
332 {
334 }
335 }
336
338}
int WINAPI lstrcmpiA(LPCSTR lpString1, LPCSTR lpString2)
◆ QueryContextMenu()
Implements IContextMenu.
Definition at line 262 of file CCopyToMenu.cpp.
267{
270
271 TRACE(
"CCopyToMenu::QueryContextMenu(%p, %u, %u, %u, %u)\n",
272 hMenu, indexMenu, idCmdFirst, idCmdLast,
uFlags);
273
274 if (
uFlags & (CMF_NOVERBS | CMF_VERBSONLY))
276
278
279
285 {
291 {
292 ++indexMenu;
294 }
295 }
296
297
307 {
309 ++indexMenu;
311 }
312
314}
#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 CCopyToMenu::m_bIgnoreTextBoxChange |
◆ m_fnOldWndProc
WNDPROC CCopyToMenu::m_fnOldWndProc |
◆ m_idCmdCopyTo
UINT CCopyToMenu::m_idCmdCopyTo |
|
protected |
◆ m_idCmdFirst
UINT CCopyToMenu::m_idCmdFirst |
|
protected |
◆ m_idCmdLast
UINT CCopyToMenu::m_idCmdLast |
|
protected |
◆ m_pDataObject
◆ m_pidlFolder
◆ m_pSite
The documentation for this class was generated from the following files: