ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

addresseditbox.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.