121 lines
3.3 KiB
Plaintext
121 lines
3.3 KiB
Plaintext
/*
|
|
* COM interfaces for shell objects
|
|
*
|
|
* Copyright (C) 2004 Maxime Bellengé
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
|
*/
|
|
|
|
import "objidl.idl";
|
|
import "oleidl.idl";
|
|
import "oaidl.idl";
|
|
import "shtypes.idl";
|
|
import "servprov.idl";
|
|
import "comcat.idl";
|
|
|
|
#include <shdispid.h>
|
|
|
|
/*****************************************************************************
|
|
* IAutoComplete interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(00bb2762-6a77-11d0-a535-00c04fd7d062),
|
|
pointer_default(unique)
|
|
]
|
|
interface IAutoComplete : IUnknown
|
|
{
|
|
typedef IAutoComplete *LPAUTOCOMPLETE;
|
|
|
|
HRESULT Init( [in] HWND hwndEdit,
|
|
[in] IUnknown *punkACL,
|
|
[in] LPCOLESTR pwszRegKeyPath,
|
|
[in] LPCOLESTR pwszQuickComplete);
|
|
|
|
HRESULT Enable( [in] BOOL fEnable );
|
|
}
|
|
|
|
/*****************************************************************************
|
|
* IAutoComplete2 interface
|
|
*/
|
|
[
|
|
object,
|
|
uuid(eac04bc0-3791-11d2-bb95-0060977b464c),
|
|
pointer_default(unique)
|
|
]
|
|
interface IAutoComplete2 : IAutoComplete
|
|
{
|
|
typedef IAutoComplete2 *LPAUTOCOMPLETE2;
|
|
|
|
typedef enum _tagAUTOCOMPLETEOPTIONS
|
|
{
|
|
ACO_NONE = 0x00, /* No AutoComplete */
|
|
ACO_AUTOSUGGEST = 0x01, /* enable autosuggest dropdown */
|
|
ACO_AUTOAPPEND = 0x02, /* enable autoappend */
|
|
ACO_SEARCH = 0x04, /* add search entry to completion list */
|
|
ACO_FILTERPREFIXES = 0x08, /* don't match common prefixes (www., http://, etc) */
|
|
ACO_USETAB = 0x10, /* use tab to select autosuggest entries */
|
|
ACO_UPDOWNKEYDROPSLIST = 0x20, /* up/down arrow key invokes autosuggest dropdown (if enabled) */
|
|
ACO_RTLREADING = 0x40, /* enable RTL reading order for dropdown */
|
|
} AUTOCOMPLETEOPTIONS;
|
|
|
|
HRESULT SetOptions( [in] DWORD dwFlag);
|
|
|
|
HRESULT GetOptions( [out] DWORD *pdwFlag);
|
|
}
|
|
|
|
[
|
|
object,
|
|
uuid(9ba05970-f6a8-11cf-a442-00a0c90a8f39),
|
|
pointer_default(unique)
|
|
]
|
|
interface IFolderViewOC : IDispatch
|
|
{
|
|
HRESULT SetFolderView( [in] IDispatch *pdisp );
|
|
}
|
|
|
|
[
|
|
uuid(62112aa2-ebe4-11cf-a5fb-0020afe7292d)
|
|
]
|
|
dispinterface DShellFolderViewEvents
|
|
{
|
|
properties:
|
|
methods:
|
|
[id(DISPID_SELECTIONCHANGED)]
|
|
void SelectionChanged();
|
|
|
|
[id(DISPID_FILELISTENUMDONE)]
|
|
void EnumDone();
|
|
|
|
[id(DISPID_VERBINVOKED)]
|
|
VARIANT_BOOL VerbInvoked();
|
|
|
|
[id(DISPID_DEFAULTVERBINVOKED)]
|
|
VARIANT_BOOL DefaultVerbInvoked();
|
|
|
|
[id(DISPID_BEGINDRAG)]
|
|
VARIANT_BOOL BeginDrag();
|
|
}
|
|
|
|
[
|
|
uuid(9ba05971-f6a8-11cf-a442-00a0c90a8f39),
|
|
hidden
|
|
]
|
|
coclass ShellFolderViewOC
|
|
{
|
|
[default] interface IFolderViewOC;
|
|
[default, source] dispinterface DShellFolderViewEvents;
|
|
}
|