Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenaddressband.h
Go to the documentation of this file.
00001 /* 00002 * ReactOS Explorer 00003 * 00004 * Copyright 2009 Andrew Hill <ash77 at domain reactos.org> 00005 * 00006 * This library is free software; you can redistribute it and/or 00007 * modify it under the terms of the GNU Lesser General Public 00008 * License as published by the Free Software Foundation; either 00009 * version 2.1 of the License, or (at your option) any later version. 00010 * 00011 * This library is distributed in the hope that it will be useful, 00012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00014 * Lesser General Public License for more details. 00015 * 00016 * You should have received a copy of the GNU Lesser General Public 00017 * License along with this library; if not, write to the Free Software 00018 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00019 */ 00020 00021 #pragma once 00022 00023 class CAddressBand : 00024 public CWindowImpl<CAddressBand, CWindow, CControlWinTraits>, 00025 public CComCoClass<CAddressBand, &CLSID_SH_AddressBand>, 00026 public CComObjectRootEx<CComMultiThreadModelNoCS>, 00027 public IDeskBand, 00028 public IOleCommandTarget, 00029 public IObjectWithSite, 00030 public IInputObject, 00031 public IWinEventHandler, 00032 public IAddressBand, 00033 public IServiceProvider, 00034 public IInputObjectSite, 00035 public IPersistStream 00036 { 00037 private: 00038 CComPtr<IDockingWindowSite> fSite; 00039 CComPtr<IAddressEditBox> fAddressEditBox; 00040 HWND fEditControl; 00041 HWND fGoButton; 00042 HWND fComboBox; 00043 bool fGoButtonShown; 00044 public: 00045 CAddressBand(); 00046 ~CAddressBand(); 00047 private: 00048 void FocusChange(BOOL bFocus); 00049 public: 00050 // *** IDeskBand methods *** 00051 virtual HRESULT STDMETHODCALLTYPE GetBandInfo(DWORD dwBandID, DWORD dwViewMode, DESKBANDINFO *pdbi); 00052 00053 // *** IObjectWithSite methods *** 00054 virtual HRESULT STDMETHODCALLTYPE SetSite(IUnknown *pUnkSite); 00055 virtual HRESULT STDMETHODCALLTYPE GetSite(REFIID riid, void **ppvSite); 00056 00057 // *** IOleWindow methods *** 00058 virtual HRESULT STDMETHODCALLTYPE GetWindow(HWND *lphwnd); 00059 virtual HRESULT STDMETHODCALLTYPE ContextSensitiveHelp(BOOL fEnterMode); 00060 00061 // *** IDockingWindow methods *** 00062 virtual HRESULT STDMETHODCALLTYPE CloseDW(DWORD dwReserved); 00063 virtual HRESULT STDMETHODCALLTYPE ResizeBorderDW(const RECT *prcBorder, IUnknown *punkToolbarSite, BOOL fReserved); 00064 virtual HRESULT STDMETHODCALLTYPE ShowDW(BOOL fShow); 00065 00066 // *** IOleCommandTarget methods *** 00067 virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); 00068 virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); 00069 00070 // *** IInputObject methods *** 00071 virtual HRESULT STDMETHODCALLTYPE UIActivateIO(BOOL fActivate, LPMSG lpMsg); 00072 virtual HRESULT STDMETHODCALLTYPE HasFocusIO(); 00073 virtual HRESULT STDMETHODCALLTYPE TranslateAcceleratorIO(LPMSG lpMsg); 00074 00075 // *** IWinEventHandler methods *** 00076 virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); 00077 virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); 00078 00079 // *** IAddressBand methods *** 00080 virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC); 00081 virtual HRESULT STDMETHODCALLTYPE Refresh(long param8); 00082 00083 // *** IServiceProvider methods *** 00084 virtual HRESULT STDMETHODCALLTYPE QueryService(REFGUID guidService, REFIID riid, void **ppvObject); 00085 00086 // *** IInputObjectSite methods *** 00087 virtual HRESULT STDMETHODCALLTYPE OnFocusChangeIS(IUnknown *punkObj, BOOL fSetFocus); 00088 00089 // *** IPersist methods *** 00090 virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); 00091 00092 // *** IPersistStream methods *** 00093 virtual HRESULT STDMETHODCALLTYPE IsDirty(); 00094 virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); 00095 virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); 00096 virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); 00097 00098 // message handlers 00099 LRESULT OnNotifyClick(WPARAM wParam, NMHDR *notifyHeader, BOOL &bHandled); 00100 LRESULT OnTipText(UINT idControl, NMHDR *notifyHeader, BOOL &bHandled); 00101 LRESULT OnEraseBackground(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); 00102 LRESULT OnSize(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); 00103 LRESULT OnWindowPosChanging(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); 00104 00105 BEGIN_MSG_MAP(CAddressBand) 00106 NOTIFY_CODE_HANDLER(NM_CLICK, OnNotifyClick) 00107 NOTIFY_CODE_HANDLER(TTN_NEEDTEXTW, OnTipText) 00108 MESSAGE_HANDLER(WM_ERASEBKGND, OnEraseBackground) 00109 MESSAGE_HANDLER(WM_SIZE, OnSize) 00110 MESSAGE_HANDLER(WM_WINDOWPOSCHANGING, OnWindowPosChanging) 00111 END_MSG_MAP() 00112 00113 DECLARE_REGISTRY_RESOURCEID(IDR_ADDRESSBAND) 00114 DECLARE_NOT_AGGREGATABLE(CAddressBand) 00115 00116 DECLARE_PROTECT_FINAL_CONSTRUCT() 00117 00118 BEGIN_COM_MAP(CAddressBand) 00119 COM_INTERFACE_ENTRY_IID(IID_IDeskBand, IDeskBand) 00120 COM_INTERFACE_ENTRY_IID(IID_IObjectWithSite, IObjectWithSite) 00121 COM_INTERFACE_ENTRY_IID(IID_IOleWindow, IOleWindow) 00122 COM_INTERFACE_ENTRY_IID(IID_IDockingWindow, IDockingWindow) 00123 COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) 00124 COM_INTERFACE_ENTRY_IID(IID_IInputObject, IInputObject) 00125 COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) 00126 COM_INTERFACE_ENTRY_IID(IID_IAddressBand, IAddressBand) 00127 COM_INTERFACE_ENTRY_IID(IID_IServiceProvider, IServiceProvider) 00128 COM_INTERFACE_ENTRY_IID(IID_IInputObjectSite, IInputObjectSite) 00129 COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) 00130 COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) 00131 END_COM_MAP() 00132 }; Generated on Sat May 26 2012 04:21:24 for ReactOS by
1.7.6.1
|