Condividi tramite


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 MyControlMFC . 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