📄 gxmenu.h
字号:
// gxMenu.h : Declaration of the CgxMenu
#ifndef __GXMENU_H_
#define __GXMENU_H_
#include "PidlMgr.h"
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CgxMenu
class ATL_NO_VTABLE CgxMenu :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CgxMenu, &CLSID_gxMenu>,
public IDispatchImpl<IgxMenu, &IID_IgxMenu, &LIBID_MENUDEMOLib>,
public IShellExtInit,
public IDropTarget,
public IContextMenu,
public IPersistFolder,
public IShellFolder
{
public:
CgxMenu();
DECLARE_REGISTRY_RESOURCEID(IDR_GXMENU)
DECLARE_PROTECT_FINAL_CONSTRUCT()
BEGIN_COM_MAP(CgxMenu)
COM_INTERFACE_ENTRY(IgxMenu)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(IShellExtInit)
COM_INTERFACE_ENTRY(IDropTarget)
COM_INTERFACE_ENTRY(IContextMenu)
COM_INTERFACE_ENTRY(IShellFolder)
COM_INTERFACE_ENTRY(IPersistFolder)
END_COM_MAP()
// IContextMenu
STDMETHOD(GetCommandString)(UINT idCmd, UINT uFlags, UINT *pwReserved,
LPSTR pszName, UINT cchMax);
STDMETHOD(InvokeCommand)(LPCMINVOKECOMMANDINFO pici);
STDMETHOD(QueryContextMenu)(HMENU hmenu, UINT indexMenu,
UINT idCmdFirst, UINT idCmdLast,
UINT uFlags);
// IShellExtInit
STDMETHOD(Initialize)(LPCITEMIDLIST pidlFolder, LPDATAOBJECT lpdobj,
HKEY hkeyProgID);
// IDropTarget
STDMETHOD(DragEnter)(IDataObject* pDataObj, DWORD grfKeyState, POINTL pt, DWORD* pdwEffect);
STDMETHOD(DragOver)(DWORD grfKeyState,POINTL pt,DWORD* pdwEffect);
STDMETHOD(DragLeave)();
STDMETHOD(Drop)(IDataObject* pDataObj,DWORD grfKeyState,POINTL pt,DWORD* pdwEffect);
//
//IShellFolder methods
STDMETHOD (ParseDisplayName) (HWND, LPBC, LPOLESTR, LPDWORD, LPITEMIDLIST*, LPDWORD);
STDMETHOD (EnumObjects) (HWND, DWORD, LPENUMIDLIST*);
STDMETHOD (BindToObject) (LPCITEMIDLIST, LPBC, REFIID, LPVOID*);
STDMETHOD (BindToStorage) (LPCITEMIDLIST, LPBC, REFIID, LPVOID*);
STDMETHOD (CompareIDs) (LPARAM, LPCITEMIDLIST, LPCITEMIDLIST);
STDMETHOD (CreateViewObject) (HWND, REFIID, LPVOID* );
STDMETHOD (GetAttributesOf) (UINT, LPCITEMIDLIST*, LPDWORD);
STDMETHOD (GetUIObjectOf) (HWND, UINT, LPCITEMIDLIST*, REFIID, LPUINT, LPVOID*);
STDMETHOD (GetDisplayNameOf) (LPCITEMIDLIST, DWORD, LPSTRRET);
STDMETHOD (SetNameOf) (HWND, LPCITEMIDLIST, LPCOLESTR, DWORD, LPITEMIDLIST*);
//IPersist methods
STDMETHODIMP GetClassID(LPCLSID);
//IPersistFolder methods
STDMETHODIMP Initialize(LPCITEMIDLIST);
// IgxMenu
public:
int FileCheckIn();
virtual ~CgxMenu();
TCHAR m_szFile[MAX_PATH];
TCHAR *m_FileList;
int m_FileCount ;
LPITEMIDLIST m_pidl;
LPITEMIDLIST m_pidlNSRoot;
HKEY m_hKeyRoot;
LPTSTR m_lpszSubKey;
// CgxMenu *m_pSFParent;
LPMALLOC m_pMalloc;
LPPIDLMGR m_pPidlMgr;
};
#endif //__GXMENU_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -