ReactOS 0.4.15-dev-8614-gbc76250
CFavBand.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS shdocvw
3 * LICENSE: LGPL-2.1-or-later (https://spdx.org/licenses/LGPL-2.1-or-later)
4 * PURPOSE: Favorites bar
5 * COPYRIGHT: Copyright 2024 Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
6 */
7
8#pragma once
9
10#ifdef __cplusplus
11
12#include "CNSCBand.h"
13
14class CFavBand
15 : public CNSCBand
16 , public CComCoClass<CFavBand, &CLSID_SH_FavBand>
17 , public CComObjectRootEx<CComMultiThreadModelNoCS>
18{
19public:
20 CFavBand();
21 virtual ~CFavBand();
22
23 STDMETHODIMP GetClassID(CLSID *pClassID) override;
24 STDMETHODIMP OnSelectionChanged(_In_ PCIDLIST_ABSOLUTE pidl);
25
29
30 BEGIN_COM_MAP(CFavBand)
35 COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject)
38 COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget)
39 COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider)
40 COM_INTERFACE_ENTRY_IID(IID_IContextMenu, IContextMenu)
42 COM_INTERFACE_ENTRY_IID(IID_IBandNavigate, IBandNavigate)
43 COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler)
44 COM_INTERFACE_ENTRY_IID(IID_INamespaceProxy, INamespaceProxy)
46
48 INT _GetRootCsidl() override;
49 DWORD _GetTVStyle() override;
50 DWORD _GetTVExStyle() override;
51 DWORD _GetEnumFlags() override;
52 BOOL _GetTitle(LPWSTR pszTitle, INT cchTitle) override;
53 HRESULT _CreateTreeView(HWND hwndParent) override;
54 HRESULT _CreateToolbar(HWND hwndParent) override;
55 BOOL _WantsRootItem() override;
56 void _SortItems(HTREEITEM hParent) override;
57};
58
59#endif // def __cplusplus
#define STDMETHODIMP
Definition: basetyps.h:43
const GUID IID_IUnknown
static HWND hwndParent
Definition: cryptui.c:300
#define IDR_FAVBAND
Definition: resource.h:2
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
#define COM_INTERFACE_ENTRY2_IID(iid, x, x2)
Definition: atlcom.h:609
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:581
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:601
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:679
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:651
#define DECLARE_REGISTRY_RESOURCEID(x)
Definition: atlcom.h:645
#define END_COM_MAP()
Definition: atlcom.h:592
const IID IID_IObjectWithSite
static BOOL protected
Definition: protectdata.c:37
static HKEY override
Definition: compobj.c:81
#define _In_
Definition: ms_sal.h:308
const GUID IID_IOleWindow
const GUID IID_IPersist
Definition: proxy.cpp:14
const GUID IID_IPersistStream
Definition: proxy.cpp:13
int32_t INT
Definition: typedefs.h:58
WCHAR * LPWSTR
Definition: xmlstorage.h:184