Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenaddresseditbox.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 CAddressEditBox : 00024 public CWindowImpl<CAddressEditBox, CWindow, CControlWinTraits>, 00025 public CComCoClass<CAddressEditBox, &CLSID_AddressEditBox>, 00026 public CComObjectRootEx<CComMultiThreadModelNoCS>, 00027 public IShellService, 00028 public IAddressBand, 00029 public IAddressEditBox, 00030 public IWinEventHandler, 00031 public IOleCommandTarget, 00032 public IDispatch, 00033 public IPersistStream 00034 { 00035 private: 00036 CContainedWindow fEditWindow; 00037 CContainedWindow fComboBoxExWindow; 00038 public: 00039 CAddressEditBox(); 00040 ~CAddressEditBox(); 00041 private: 00042 public: 00043 // *** IShellService methods *** 00044 virtual HRESULT STDMETHODCALLTYPE SetOwner(IUnknown *); 00045 00046 // *** IAddressBand methods *** 00047 virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC); 00048 virtual HRESULT STDMETHODCALLTYPE Refresh(long param8); 00049 00050 // *** IAddressEditBox methods *** 00051 virtual HRESULT STDMETHODCALLTYPE Init(HWND comboboxEx, HWND editControl, long param14, IUnknown *param18); 00052 virtual HRESULT STDMETHODCALLTYPE SetCurrentDir(long paramC); 00053 virtual HRESULT STDMETHODCALLTYPE ParseNow(long paramC); 00054 virtual HRESULT STDMETHODCALLTYPE Execute(long paramC); 00055 virtual HRESULT STDMETHODCALLTYPE Save(long paramC); 00056 00057 // *** IWinEventHandler methods *** 00058 virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult); 00059 virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd); 00060 00061 // *** IOleCommandTarget methods *** 00062 virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText); 00063 virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut); 00064 00065 // *** IDispatch methods *** 00066 virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo); 00067 virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo); 00068 virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId); 00069 virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr); 00070 00071 // *** IPersist methods *** 00072 virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID); 00073 00074 // *** IPersistStream methods *** 00075 virtual HRESULT STDMETHODCALLTYPE IsDirty(); 00076 virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm); 00077 virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty); 00078 virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize); 00079 00080 // message handlers 00081 // LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); 00082 // LRESULT OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled); 00083 00084 DECLARE_REGISTRY_RESOURCEID(IDR_ADDRESSEDITBOX) 00085 DECLARE_NOT_AGGREGATABLE(CAddressEditBox) 00086 00087 DECLARE_PROTECT_FINAL_CONSTRUCT() 00088 00089 BEGIN_MSG_MAP(CAddressEditBox) 00090 // MESSAGE_HANDLER(WM_NOTIFY, OnNotify) 00091 // MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus) 00092 // MESSAGE_HANDLER(WM_KILLFOCUS, OnKillFocus) 00093 // ALT_MSG_MAP(1) 00094 // MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocusSaveButton) 00095 // ALT_MSG_MAP(2) 00096 // MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocusSelectButton) 00097 END_MSG_MAP() 00098 00099 BEGIN_COM_MAP(CAddressEditBox) 00100 COM_INTERFACE_ENTRY_IID(IID_IShellService, IShellService) 00101 COM_INTERFACE_ENTRY_IID(IID_IAddressBand, IAddressBand) 00102 COM_INTERFACE_ENTRY_IID(IID_IAddressEditBox, IAddressEditBox) 00103 COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler) 00104 COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget) 00105 COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch) 00106 COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist) 00107 COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream) 00108 END_COM_MAP() 00109 }; Generated on Sat May 26 2012 04:21:24 for ReactOS by
1.7.6.1
|