ReactOS 0.4.15-dev-5666-gc548b97
addressband.h
Go to the documentation of this file.
1/*
2 * ReactOS Explorer
3 *
4 * Copyright 2009 Andrew Hill <ash77 at domain reactos.org>
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 */
20
21#pragma once
22
24 public CWindowImpl<CAddressBand, CWindow, CControlWinTraits>,
25 public CComCoClass<CAddressBand, &CLSID_SH_AddressBand>,
26 public CComObjectRootEx<CComMultiThreadModelNoCS>,
27 public IDeskBand,
28 public IObjectWithSite,
29 public IInputObject,
30 public IPersistStream,
31 public IOleCommandTarget,
32 public IServiceProvider,
33 public IWinEventHandler,
34 public IAddressBand,
35 public IInputObjectSite
36{
37private:
38 CComPtr<IDockingWindowSite> fSite;
39 CComPtr<IAddressEditBox> fAddressEditBox;
46
47public:
49 virtual ~CAddressBand();
50private:
51 void FocusChange(BOOL bFocus);
52 void CreateGoButton();
53public:
54 // *** IDeskBand methods ***
55 virtual HRESULT STDMETHODCALLTYPE GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi);
56
57 // *** IObjectWithSite methods ***
58 virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite);
59 virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite);
60
61 // *** IOleWindow methods ***
62 virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd);
64
65 // *** IDockingWindow methods ***
67 virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(const RECT *prcBorder, IUnknown *punkToolbarSite, BOOL fReserved);
68 virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow);
69
70 // *** IOleCommandTarget methods ***
71 virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText);
72 virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut);
73
74 // *** IInputObject methods ***
75 virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg);
78
79 // *** IWinEventHandler methods ***
82
83 // *** IAddressBand methods ***
84 virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC);
85 virtual HRESULT STDMETHODCALLTYPE Refresh(long param8);
86
87 // *** IServiceProvider methods ***
89
90 // *** IInputObjectSite methods ***
91 virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus);
92
93 // *** IPersist methods ***
94 virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID);
95
96 // *** IPersistStream methods ***
99 virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty);
101
102 // message handlers
103 LRESULT OnNotifyClick(WPARAM wParam, NMHDR *notifyHeader, BOOL &bHandled);
104 LRESULT OnTipText(UINT idControl, NMHDR *notifyHeader, BOOL &bHandled);
106 LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
108
116
119
121
123 COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand)
126 COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow)
127 COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget)
128 COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject)
129 COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler)
130 COM_INTERFACE_ENTRY_IID(IID_IAddressBand, IAddressBand)
131 COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider)
132 COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite)
136};
HWND hWnd
Definition: settings.c:17
#define STDMETHODCALLTYPE
Definition: bdasup.h:9
virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd)
HIMAGELIST m_himlHot
Definition: addressband.h:45
virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg)
virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite)
virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize)
virtual HRESULT STDMETHODCALLTYPE GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi)
Definition: addressband.cpp:65
LRESULT OnEraseBackground(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved)
LRESULT OnTipText(UINT idControl, NMHDR *notifyHeader, BOOL &bHandled)
virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg)
CComPtr< IAddressEditBox > fAddressEditBox
Definition: addressband.h:39
virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID)
virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm)
bool fGoButtonShown
Definition: addressband.h:43
HWND fEditControl
Definition: addressband.h:40
virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow)
virtual HRESULT STDMETHODCALLTYPE HasFocusIO()
virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus)
virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite)
HWND fGoButton
Definition: addressband.h:41
virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
virtual HRESULT STDMETHODCALLTYPE IsDirty()
LRESULT OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled)
virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[], OLECMDTEXT *pCmdText)
void FocusChange(BOOL bFocus)
Definition: addressband.cpp:52
LRESULT OnNotifyClick(WPARAM wParam, NMHDR *notifyHeader, BOOL &bHandled)
virtual ~CAddressBand()
Definition: addressband.cpp:48
virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult)
virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode)
virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd)
CComPtr< IDockingWindowSite > fSite
Definition: addressband.h:38
virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject)
virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(const RECT *prcBorder, IUnknown *punkToolbarSite, BOOL fReserved)
void CreateGoButton()
HWND fComboBox
Definition: addressband.h:42
virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC)
virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty)
HIMAGELIST m_himlNormal
Definition: addressband.h:44
WPARAM wParam
Definition: combotst.c:138
LPARAM lParam
Definition: combotst.c:139
#define IDR_ADDRESSBAND
Definition: resource.h:91
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
REFIID riid
Definition: atlbase.h:39
#define BEGIN_COM_MAP(x)
Definition: atlcom.h:542
#define COM_INTERFACE_ENTRY_IID(iid, x)
Definition: atlcom.h:562
#define DECLARE_PROTECT_FINAL_CONSTRUCT()
Definition: atlcom.h:640
#define DECLARE_NOT_AGGREGATABLE(x)
Definition: atlcom.h:612
#define DECLARE_REGISTRY_RESOURCEID(x)
Definition: atlcom.h:606
#define END_COM_MAP()
Definition: atlcom.h:553
#define MESSAGE_HANDLER(msg, func)
Definition: atlwin.h:1920
#define NOTIFY_CODE_HANDLER(cd, func)
Definition: atlwin.h:1974
#define BEGIN_MSG_MAP(theClass)
Definition: atlwin.h:1892
#define END_MSG_MAP()
Definition: atlwin.h:1911
unsigned int ULONG
Definition: retypes.h:1
void Refresh(void)
Definition: magnifier.c:317
const IID IID_IObjectWithSite
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
Definition: mswsock.h:95
unsigned int UINT
Definition: ndis.h:50
const GUID IID_IOleWindow
const GUID IID_IPersist
Definition: proxy.cpp:14
const GUID IID_IPersistStream
Definition: proxy.cpp:13
#define NM_CLICK
Definition: commctrl.h:130
#define TBN_GETINFOTIP
Definition: commctrl.h:1392
#define REFIID
Definition: guiddef.h:118
Definition: scsiwmi.h:51
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
LONG_PTR LPARAM
Definition: windef.h:208
LONG_PTR LRESULT
Definition: windef.h:209
UINT_PTR WPARAM
Definition: windef.h:207
#define WM_ERASEBKGND
Definition: winuser.h:1615
#define WM_WINDOWPOSCHANGING
Definition: winuser.h:1651
#define WM_SIZE
Definition: winuser.h:1601