Struttura DEFCONTEXTMENU (shlobj_core.h)
Contiene informazioni sul menu di scelta rapida usate da SHCreateDefaultContextMenu.
Sintassi
typedef struct {
HWND hwnd;
IContextMenuCB *pcmcb;
PCIDLIST_ABSOLUTE pidlFolder;
IShellFolder *psf;
UINT cidl;
PCUITEMID_CHILD_ARRAY apidl;
IUnknown *punkAssociationInfo;
UINT cKeys;
const HKEY *aKeys;
} DEFCONTEXTMENU;
Members
hwnd
Tipo: HWND
Handle nel menu di scelta rapida. Impostare questo membro sull'handle restituito da CreateMenu.
pcmcb
Tipo: IContextMenuCB*
Puntatore all'interfaccia IContextMenuCB supportata dall'oggetto callback. Questo valore è facoltativo e può essere NULL.
pidlFolder
Tipo: PCIDLIST_ABSOLUTE
PiDL della cartella contenente gli oggetti file selezionati o la cartella del menu di scelta rapida se non sono selezionati oggetti file. Questo valore è facoltativo e può essere NULL, nel qual caso il piDL viene calcolato dal membro psf .
psf
Tipo: IShellFolder*
Puntatore all'interfaccia IShellFolder dell'oggetto cartella contenente gli oggetti file selezionati o la cartella contenente il menu di scelta rapida se non sono selezionati oggetti file.
cidl
Tipo: UINT
Numero di elementi nell'apidl membro.
apidl
Tipo: PCUITEMID_CHILD_ARRAY
Puntatore a una matrice costante di strutture ITEMIDLIST . Ogni voce della matrice descrive un elemento figlio a cui si applica il menu di scelta rapida, ad esempio un file selezionato che l'utente vuole aprire.
punkAssociationInfo
Tipo: IUnknown*
Puntatore all'interfaccia IQueryAssociations nell'oggetto da cui caricare le estensioni. Questo parametro è facoltativo e può quindi essere NULL. Se questo valore è NULL e i membri aKeys e cKey sono anche NULL (vedere Osservazioni), punkAssociationInfo viene calcolato dal membro apidl e cidl tramite una richiesta di IQueryAssociations tramite IShellFolder::GetUIObjectOf.
Se IShellFolder::GetUIObjectOf restituisce E_NOTIMPL, viene fornita un'implementazione predefinita basata sugli attributi SFGAO_FOLDER e SFGAO_FILESYSTEMrestituiti da IShellFolder::GetAttributesOf.
cKeys
Tipo: UINT
Numero di elementi in aKeys membro. Il valore può essere zero. Se il valore è zero, le estensioni vengono caricate in base all'oggetto che supporta l'interfaccia IQueryAssociations come specificato dal membro punkAssociationInfo. Se il valore non è NULL, le estensioni vengono caricate solo in base a un membro aKeys e non membro punkAssociationInfo.
aKeys
Tipo: const HKEY*
Puntatore a un HKEY che specifica la chiave del Registro di sistema da cui caricare le estensioni. Questo parametro è facoltativo e può essere NULL. Se il valore è NULL, le estensioni vengono caricate in base all'oggetto che supporta l'interfaccia IQueryAssociations come specificato in punkAssociationInfo.
Commenti
Se i membri aKeys e cKeys sono validi e membro punkAssociationInfo è valido (non NULL), il sistema costruisce il menu usando i valori di aKeys e cKeys e ignora il membro punkAssociationInfo (IQueryAssociations).
I membri apidl e cidl possono essere usati come parametri per il metodo IShellFolder::GetUIObjectOf per recuperare IDataObject.
Requisiti
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Intestazione | shlobj_core.h (include Shlobj.h) |