2 * AutoComplete interfaces implementation.
4 * Copyright 2004 Maxime Bellengé <maxime.bellenge@laposte.net>
5 * Copyright 2009 Andrew Hill
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 #ifndef _AUTOCOMPLETE_H_
23 #define _AUTOCOMPLETE_H_
26 public CComCoClass
<CAutoComplete
, &CLSID_AutoComplete
>,
27 public CComObjectRootEx
<CComMultiThreadModelNoCS
>,
34 WNDPROC wpOrigEditProc
;
35 WNDPROC wpOrigLBoxProc
;
38 CComPtr
<IEnumString
> enumstr
;
39 AUTOCOMPLETEOPTIONS options
;
45 static LRESULT APIENTRY
ACEditSubclassProc(HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
);
46 static LRESULT APIENTRY
ACLBoxSubclassProc(HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam
);
49 virtual HRESULT WINAPI
Enable(BOOL fEnable
);
50 virtual HRESULT WINAPI
Init(HWND hwndEdit
, IUnknown
*punkACL
, LPCOLESTR pwzsRegKeyPath
, LPCOLESTR pwszQuickComplete
);
51 virtual HRESULT WINAPI
GetOptions(DWORD
*pdwFlag
);
52 virtual HRESULT WINAPI
SetOptions(DWORD dwFlag
);
54 DECLARE_REGISTRY_RESOURCEID(IDR_AUTOCOMPLETE
)
55 DECLARE_NOT_AGGREGATABLE(CAutoComplete
)
57 DECLARE_PROTECT_FINAL_CONSTRUCT()
59 BEGIN_COM_MAP(CAutoComplete
)
60 COM_INTERFACE_ENTRY_IID(IID_IAutoComplete
, IAutoComplete
)
61 COM_INTERFACE_ENTRY_IID(IID_IAutoComplete2
, IAutoComplete2
)
65 #endif // _AUTOCOMPLETE_H_