#pragma once
class CAddressEditBox :
- public CWindowImpl<CAddressEditBox, CWindow, CControlWinTraits>,
- public CComCoClass<CAddressEditBox, &CLSID_AddressEditBox>,
- public CComObjectRootEx<CComMultiThreadModelNoCS>,
- public IShellService,
- public IAddressBand,
- public IAddressEditBox,
- public IWinEventHandler,
- public IOleCommandTarget,
- public IDispatch,
- public IPersistStream
+ public CWindowImpl<CAddressEditBox, CWindow, CControlWinTraits>,
+ public CComCoClass<CAddressEditBox, &CLSID_AddressEditBox>,
+ public CComObjectRootEx<CComMultiThreadModelNoCS>,
+ public IWinEventHandler,
+ public IDispatch,
+ public IAddressBand,
+ public IAddressEditBox,
+ public IOleCommandTarget,
+ public IPersistStream,
+ public IShellService
{
private:
- CContainedWindow fEditWindow;
- CContainedWindow fComboBoxExWindow;
+ CContainedWindow fCombobox;
+ CContainedWindow fEditWindow;
+ DWORD fAdviseCookie;
+ CComPtr<IUnknown> fSite;
+ LPITEMIDLIST pidlLastParsed;
public:
- CAddressEditBox();
- ~CAddressEditBox();
+ CAddressEditBox();
+ ~CAddressEditBox();
private:
public:
- // *** IShellService methods ***
+ // *** IShellService methods ***
virtual HRESULT STDMETHODCALLTYPE SetOwner(IUnknown *);
- // *** IAddressBand methods ***
- virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC);
- virtual HRESULT STDMETHODCALLTYPE Refresh(long param8);
+ // *** IAddressBand methods ***
+ virtual HRESULT STDMETHODCALLTYPE FileSysChange(long param8, long paramC);
+ virtual HRESULT STDMETHODCALLTYPE Refresh(long param8);
- // *** IAddressEditBox methods ***
- virtual HRESULT STDMETHODCALLTYPE Init(HWND comboboxEx, HWND editControl, long param14, IUnknown *param18);
- virtual HRESULT STDMETHODCALLTYPE SetCurrentDir(long paramC);
- virtual HRESULT STDMETHODCALLTYPE ParseNow(long paramC);
- virtual HRESULT STDMETHODCALLTYPE Execute(long paramC);
- virtual HRESULT STDMETHODCALLTYPE Save(long paramC);
+ // *** IAddressEditBox methods ***
+ virtual HRESULT STDMETHODCALLTYPE Init(HWND comboboxEx, HWND editControl, long param14, IUnknown *param18);
+ virtual HRESULT STDMETHODCALLTYPE SetCurrentDir(long paramC);
+ virtual HRESULT STDMETHODCALLTYPE ParseNow(long paramC);
+ virtual HRESULT STDMETHODCALLTYPE Execute(long paramC);
+ virtual HRESULT STDMETHODCALLTYPE Save(long paramC);
- // *** IWinEventHandler methods ***
- virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult);
- virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd);
+ // *** IWinEventHandler methods ***
+ virtual HRESULT STDMETHODCALLTYPE OnWinEvent(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT *theResult);
+ virtual HRESULT STDMETHODCALLTYPE IsWindowOwner(HWND hWnd);
- // *** IOleCommandTarget methods ***
- virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText);
- virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut);
+ // *** IOleCommandTarget methods ***
+ virtual HRESULT STDMETHODCALLTYPE QueryStatus(const GUID *pguidCmdGroup, ULONG cCmds, OLECMD prgCmds[ ], OLECMDTEXT *pCmdText);
+ virtual HRESULT STDMETHODCALLTYPE Exec(const GUID *pguidCmdGroup, DWORD nCmdID, DWORD nCmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut);
- // *** IDispatch methods ***
- virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo);
- virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
- virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
- virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
+ // *** IDispatch methods ***
+ virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(UINT *pctinfo);
+ virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
+ virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
+ virtual HRESULT STDMETHODCALLTYPE Invoke(DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
- // *** IPersist methods ***
- virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID);
+ // *** IPersist methods ***
+ virtual HRESULT STDMETHODCALLTYPE GetClassID(CLSID *pClassID);
- // *** IPersistStream methods ***
- virtual HRESULT STDMETHODCALLTYPE IsDirty();
- virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm);
- virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty);
- virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize);
+ // *** IPersistStream methods ***
+ virtual HRESULT STDMETHODCALLTYPE IsDirty();
+ virtual HRESULT STDMETHODCALLTYPE Load(IStream *pStm);
+ virtual HRESULT STDMETHODCALLTYPE Save(IStream *pStm, BOOL fClearDirty);
+ virtual HRESULT STDMETHODCALLTYPE GetSizeMax(ULARGE_INTEGER *pcbSize);
- // message handlers
-// LRESULT OnSetFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
-// LRESULT OnKillFocus(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL &bHandled);
+ // message handlers
-DECLARE_REGISTRY_RESOURCEID(IDR_ADDRESSEDITBOX)
-DECLARE_NOT_AGGREGATABLE(CAddressEditBox)
+ DECLARE_REGISTRY_RESOURCEID(IDR_ADDRESSEDITBOX)
+ DECLARE_NOT_AGGREGATABLE(CAddressEditBox)
-DECLARE_PROTECT_FINAL_CONSTRUCT()
+ DECLARE_PROTECT_FINAL_CONSTRUCT()
-BEGIN_MSG_MAP(CAddressEditBox)
-// MESSAGE_HANDLER(WM_NOTIFY, OnNotify)
-// MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
-// MESSAGE_HANDLER(WM_KILLFOCUS, OnKillFocus)
-// ALT_MSG_MAP(1)
-// MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocusSaveButton)
-// ALT_MSG_MAP(2)
-// MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocusSelectButton)
-END_MSG_MAP()
+ BEGIN_MSG_MAP(CAddressEditBox)
+ END_MSG_MAP()
-BEGIN_COM_MAP(CAddressEditBox)
- COM_INTERFACE_ENTRY_IID(IID_IShellService, IShellService)
- COM_INTERFACE_ENTRY_IID(IID_IAddressBand, IAddressBand)
- COM_INTERFACE_ENTRY_IID(IID_IAddressEditBox, IAddressEditBox)
- COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler)
- COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget)
- COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch)
- COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist)
- COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream)
-END_COM_MAP()
+ BEGIN_COM_MAP(CAddressEditBox)
+ COM_INTERFACE_ENTRY_IID(IID_IShellService, IShellService)
+ COM_INTERFACE_ENTRY_IID(IID_IAddressBand, IAddressBand)
+ COM_INTERFACE_ENTRY_IID(IID_IAddressEditBox, IAddressEditBox)
+ COM_INTERFACE_ENTRY_IID(IID_IWinEventHandler, IWinEventHandler)
+ COM_INTERFACE_ENTRY_IID(IID_IOleCommandTarget, IOleCommandTarget)
+ COM_INTERFACE_ENTRY_IID(IID_IDispatch, IDispatch)
+ COM_INTERFACE_ENTRY_IID(IID_IPersist, IPersist)
+ COM_INTERFACE_ENTRY_IID(IID_IPersistStream, IPersistStream)
+ END_COM_MAP()
};