Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include "folder.h"
#include "utils.h"
#include <mluisupp.h>
///////////////////////////////////////////////////////////////////////////////
// IContextMenu methods
HRESULT CControlFolder::QueryContextMenu( HMENU hmenu, UINT indexMenu, UINT idCmdFirst, UINT idCmdLast, UINT uFlags) { USHORT cItems = 0;
DebugMsg(DM_TRACE, TEXT("cf - cm - QueryContextMenu() called.")); if (uFlags == CMF_NORMAL) { HMENU hCtrlMenu = LoadMenu(MLGetHinst(), MAKEINTRESOURCE(IDR_CONTROLFOLDER)); if (hmenu) { MENUITEMINFO mii; mii.cbSize = sizeof(mii); mii.fMask = MIIM_ID; mii.wID = SFVIDM_MENU_ARRANGE; SetMenuItemInfo(hCtrlMenu, 0, TRUE, &mii); cItems = (USHORT)MergeMenuHierarchy(hmenu, hCtrlMenu, idCmdFirst, idCmdLast); DestroyMenu(hCtrlMenu); } } SetMenuDefaultItem(hmenu, indexMenu, MF_BYPOSITION);
return ResultFromShort(cItems); // number of menu items
}
HRESULT CControlFolder::InvokeCommand(LPCMINVOKECOMMANDINFO pici) { // We don't deal with the VERBONLY case
DebugMsg(DM_TRACE, TEXT("cf - cm - InvokeCommand() called.")); Assert((DWORD_PTR)(pici->lpVerb) <= 0xFFFF); int idCmd; if ((DWORD_PTR)(pici->lpVerb) > 0xFFFF) idCmd = -1; else idCmd = LOWORD(pici->lpVerb); return ControlFolderView_Command(pici->hwnd, idCmd); }
HRESULT CControlFolder::GetCommandString( UINT_PTR idCmd, UINT uFlags, UINT *pwReserved, LPTSTR pszName, UINT cchMax) { HRESULT hres = E_FAIL;
DebugMsg(DM_TRACE, TEXT("cf - cm - GetCommandString() called."));
if (uFlags == GCS_HELPTEXT) { MLLoadString((UINT) (idCmd + IDS_HELP_SORTBYNAME), pszName, cchMax); hres = S_OK; }
return hres; }
|