10#define NSCBANDCLASSNAME L"ReactOS NameSpace Control Band"
12#define WM_USER_SHELLEVENT (WM_USER + 88)
16 :
public CWindowImpl<CNSCBand>
24 ,
public IBandNavigate
25 ,
public IWinEventHandler
26 ,
public INamespaceProxy
40 CComHeapPtr<ITEMIDLIST> absolutePidl;
41 CComHeapPtr<ITEMIDLIST> relativePidl;
133 DWORD m_dwTVStyle = 0;
134 DWORD m_dwTVExStyle = 0;
135 DWORD m_dwEnumFlags = 0;
138 DWORD m_dwBandID = 0;
139 CComPtr<IUnknown> m_pSite;
140 CComPtr<IShellFolder> m_pDesktop;
141 CComHeapPtr<ITEMIDLIST> m_pidlRoot;
145 LONG m_mtxBlockNavigate = 0;
149 DWORD m_adviseCookie = 0;
150 ULONG m_shellRegID = 0;
154 CComPtr<IDropTarget> m_pDropTarget;
156 CComPtr<IDataObject> m_pCurObject;
161 virtual INT _GetRootCsidl() = 0;
164 virtual void _DestroyTreeView();
165 virtual void _DestroyToolbar();
166 virtual DWORD _GetTVStyle() = 0;
167 virtual DWORD _GetTVExStyle() = 0;
168 virtual DWORD _GetEnumFlags() = 0;
170 virtual BOOL _WantsRootItem() = 0;
171 virtual void _SortItems(
HTREEITEM hParent) = 0;
172 void _RegisterChangeNotify();
173 void _UnregisterChangeNotify();
205 _Out_ CComPtr<IEnumIDList>& pEnum,
#define WM_USER_SHELLEVENT
BOOL Query(LPCTSTR *ServiceArgs, DWORD ArgCount, BOOL bExtended)
LPSERVICE_STATUS_PROCESS QueryService(LPCTSTR ServiceName)
static LRESULT OnNotify(HWND hWnd, LPARAM lParam)
static VOID OnTimer(IN HWND hwndDlg, IN PSYS_SHUTDOWN_PARAMS pShutdownParams)
static int OnCommand(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
static BOOL OnEndLabelEdit(NMLVDISPINFO *pnmv)
static BOOL OnBeginLabelEdit(NMLVDISPINFO *pnmv)
static IShellFolder IShellItem **static IBindCtx LPITEMIDLIST SFGAOF
static VOID OnSize(HWND hDlg, PDETAILDATA pData, INT cx, INT cy)
HRESULT GetBandInfo([in] DWORD dwBandID, [in] DWORD dwViewMode, [in, out] DESKBANDINFO *pdbi)
HRESULT ResizeBorderDW([in] LPCRECT prcBorder, [in] IUnknown *punkToolbarSite, [in] BOOL fReserved)
HRESULT CloseDW([in] DWORD dwReserved)
HRESULT ShowDW([in] BOOL fShow)
HRESULT QueryContinueDrag([in] BOOL fEscapePressed, [in] DWORD grfKeyState)
HRESULT GiveFeedback([in] DWORD dwEffect)
HRESULT Drop([in, unique] IDataObject *pDataObj, [in] DWORD grfKeyState, [in] POINTL pt, [in, out] DWORD *pdwEffect)
HRESULT DragEnter([in, unique] IDataObject *pDataObj, [in] DWORD grfKeyState, [in] POINTL pt, [in, out] DWORD *pdwEffect)
HRESULT DragOver([in] DWORD grfKeyState, [in] POINTL pt, [in, out] DWORD *pdwEffect)
HRESULT GetSite([in] REFIID riid, [out, iid_is(riid)] PVOID *ppvSite)
HRESULT SetSite([in] IUnknown *pUnkSite)
HRESULT QueryStatus([in, unique] const GUID *pguidCmdGroup, [in] ULONG cCmds, [in, out, size_is(cCmds)] OLECMD prgCmds[], [in, out, unique] OLECMDTEXT *pCmdText)
HRESULT Exec([in, unique] const GUID *pguidCmdGroup, [in] DWORD nCmdID, [in] DWORD nCmdexecopt, [in, unique] VARIANT *pvaIn, [in, out, unique] VARIANT *pvaOut)
HRESULT GetWindow([out] HWND *phwnd)
HRESULT ContextSensitiveHelp([in] BOOL fEnterMode)
HRESULT GetSizeMax([out] ULARGE_INTEGER *pcbSize)
HRESULT GetClassID([out] CLSID *pClassID)
#define MESSAGE_HANDLER(msg, func)
#define BEGIN_MSG_MAP(theClass)
#define DECLARE_WND_CLASS_EX(WndClassName, style, bkgnd)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
unsigned __int3264 UINT_PTR
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
static HRESULT GetCommandString(IContextMenu &CM, UINT Id, UINT Type, LPWSTR buf, UINT cchMax)
const ITEMID_CHILD UNALIGNED * PCUITEMID_CHILD
const ITEMIDLIST UNALIGNED * LPCITEMIDLIST
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
static int Save(const char **args)
static LRESULT OnDestroy(HWND hWnd, WPARAM wParam, LPARAM lParam)
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
_Must_inspect_result_ _In_ ULONG Flags