Macro per le mappe di interfaccia e delegati
MFC supporta queste macro per le mappe di delega e interfaccia:
Nome | Descrizione |
---|---|
BEGIN_DELEGATE_MAP | Avvia una mappa dei delegati. |
BEGIN_INTERFACE_MAP | Inizia la definizione della mappa interfacciata. |
Delegato CommandHandler | Registra i metodi di callback con un comando di origine. |
END_DELEGATE_MAP | Termina una mappa dei delegati. |
END_INTERFACE_MAP | Termina la mappa dell'interfaccia nel file di implementazione. |
EVENT_DELEGATE_ENTRY | Crea una voce nella mappa di delegati. |
INTERFACE_PART | Utilizzato tra la macro BEGIN_INTERFACE_MAP e la macro END_INTERFACE_MAP per ogni interfaccia supportata dall'oggetto. |
MAKE_DELEGATE | Collega un gestore eventi a un controllo gestito. |
BEGIN_DELEGATE_MAP
Avvia una mappa dei delegati.
Sintassi
BEGIN_DELEGATE_MAP( CLASS );
Parametri
CLASSE
Classe in cui è ospitato il controllo gestito.
Osservazioni:
Questa macro contrassegna l'inizio di un elenco di voci delegate, che costituiscono una mappa delegato. Per un esempio di utilizzo di questa macro, vedere EVENT_DELEGATE_ENTRY.
Requisiti
Intestazione: msclr\event.h
BEGIN_INTERFACE_MAP
Inizia la definizione della mappa interfacciata quando viene usata nel file di implementazione.
Sintassi
BEGIN_INTERFACE_MAP( theClass, baseClass )
Parametri
theClass
Classe in cui deve essere definita la mappa dell'interfaccia
baseClass
Classe da cui deriva la classe .
Osservazioni:
Per ogni interfaccia implementata, è presente una o più chiamate di macro INTERFACE_PART. Per ogni aggregazione usata dalla classe è presente una chiamata di macro INTERFACE_AGGREGATE.
Per altre informazioni sulle mappe dell'interfaccia, vedere La nota tecnica 38.
Requisiti
Intestazione: afxwin.h
Delegato CommandHandler
Registra i metodi di callback con un comando di origine.
Sintassi
delegate void CommandHandler( UINT^ cmdID );
Parametri
cmdID
ID di comando.
Osservazioni:
Questo delegato registra i metodi di callback con un comando di origine. Quando si aggiunge un delegato all'oggetto origine del comando, il metodo di callback diventa un gestore per i comandi provenienti dall'origine specificata.
Per altre informazioni, vedere Procedura: Aggiungere il routing dei comandi al controllo Windows Form.
Per altre informazioni sull'uso di Windows Form, vedere Uso di un controllo utente di Windows Form in MFC.
Requisiti
Intestazione: afxwinforms.h (definita nell'assembly atlmfc\lib\mfcmifc80.dll)
CommandUIHandler
Registra i metodi di callback con un messaggio di comando di aggiornamento dell'interfaccia utente.
Sintassi
delegate void CommandUIHandler( unsigned int cmdID, ICommandUI^ cmdUI);
Parametri
cmdID
ID di comando.
cmdUI
ID del messaggio di comando.
Osservazioni:
Questo delegato registra i metodi di callback con un messaggio di comando di aggiornamento dell'interfaccia utente. CommandUIHandler
è simile a CommandHandler , ad eccezione del fatto che questo delegato viene usato con i comandi di aggiornamento degli oggetti dell'interfaccia utente. I comandi di aggiornamento dell'interfaccia utente devono essere mappati uno a uno con i metodi del gestore dei messaggi.
Per altre informazioni sull'uso di Windows Form, vedere Uso di un controllo utente di Windows Form in MFC.
Requisiti
Intestazione: afxwinforms.h (definita nell'assembly atlmfc\lib\mfcmifc80.dll)
END_DELEGATE_MAP
Termina una mappa dei delegati.
Sintassi
END_DELEGATE_MAP();
Osservazioni:
Questa macro contrassegna la fine di un elenco di voci delegate, che compongono una mappa dei delegati. Per un esempio di utilizzo di questa macro, vedere EVENT_DELEGATE_ENTRY.
Requisiti
Intestazione: msclr\event.h
END_INTERFACE_MAP
Termina la mappa dell'interfaccia nel file di implementazione.
Sintassi
END_INTERFACE_MAP( )
Osservazioni:
Per altre informazioni sulle mappe delle interfacce, vedere La nota tecnica 38.
Requisiti
Intestazione: afxwin.h
EVENT_DELEGATE_ENTRY
Crea una voce nella mappa di delegati.
Sintassi
EVENT_DELEGATE_ENTRY(MEMBER, ARG0, ARG1);
Parametri
MEMBRO
Metodo del gestore eventi da aggiungere al controllo.
ARG0
Primo argomento del metodo del gestore eventi gestito, ad esempio Object^
.
ARG1
Secondo argomento del metodo del gestore eventi gestito, ad esempio EventArgs^
.
Osservazioni:
Ogni voce nella mappa dei delegati corrisponde a un delegato del gestore eventi gestito creato da MAKE_DELEGATE.
Esempio
Nell'esempio di codice seguente viene illustrato come usare EVENT_DELEGATE_ENTRY per creare una voce nella mappa dei delegati per il OnClick
gestore eventi. Vedere anche l'esempio di codice in MAKE_DELEGATE. Per altre informazioni, vedere Procedura: Sink Windows Form Eventi da classi C++ native.
BEGIN_DELEGATE_MAP(CMyView)
EVENT_DELEGATE_ENTRY(OnClick, System::Object^, System::EventArgs^)
END_DELEGATE_MAP()
Requisiti
Intestazione: msclr\event.h
INTERFACE_PART
Utilizzato tra la macro BEGIN_INTERFACE_MAP e la macro END_INTERFACE_MAP per ogni interfaccia supportata dall'oggetto.
Sintassi
INTERFACE_PART( theClass, iid, localClass)
Parametri
theClass
Nome della classe che contiene la mappa dell'interfaccia.
iid
IID di cui eseguire il mapping alla classe incorporata.
localClass
Nome della classe locale.
Osservazioni:
Consente di eseguire il mapping di un IID a un membro della classe indicata da theClass e localClass.
Per altre informazioni sulle mappe dell'interfaccia, vedere La nota tecnica 38.
Requisiti
Intestazione: afxwin.h
MAKE_DELEGATE
Collega un gestore eventi a un controllo gestito.
Sintassi
MAKE_DELEGATE( DELEGATE, MEMBER) ;
Parametri
DELEGATO
Tipo del delegato del gestore eventi gestito, ad esempio EventHandler.
MEMBRO
Nome del metodo del gestore eventi da associare al controllo.
Osservazioni:
Questa macro crea un delegato del gestore eventi gestito di tipo DELEGATE e del nome MEMBER. Il delegato del gestore eventi gestito consente a una classe nativa di gestire gli eventi gestiti.
Esempio
Nell'esempio di codice seguente viene illustrato come chiamare MAKE_DELEGATE
per associare un OnClick
gestore eventi a un controllo MyControl
MFC . Per una spiegazione più ampia del funzionamento di questa macro in un'applicazione MFC, vedere Procedura: Sink Windows Form Eventi da classi C++ native.
// CMyView derives from CWinFormsView.
void CMyView::OnInitialUpdate()
{
CWinFormsView::OnInitialUpdate();
GetControl()->Click += MAKE_DELEGATE(System::EventHandler, OnClick);
}
Requisiti
Intestazione: msclr\event.h
Vedi anche
Procedura: Elaborare eventi di Windows Form da classi C++ native
Procedura: Aggiungere il routing dei comandi al controllo Windows Form
Macro e globali