Condividi tramite


Mappe eventi

Ogni volta che un controllo deve notificare al relativo contenitore un'azione (determinata dallo sviluppatore del controllo) si sia verificata (ad esempio viene premuto un tasto, il clic del mouse, oppure una modifica allo stato del controllo) chiama una funzione degli eventi. Questa funzione notifica al contenitore di controlli che un'azione importante si è verificata generando l'evento correlato.

La libreria Microsoft Foundation Class offre un modello ottimizzato di programmazione per generare gli eventi. In questo modello, le "mappe eventi" vengono utilizzate per designare per un determinato controllo quali funzioni generare e quali eventi. Le mappe eventi contengono una macro per ogni evento. Ad esempio, una mappa evento che genera un evento Click potrebbe ricondursi alla seguente:

BEGIN_EVENT_MAP(CMyAxCtrl, COleControl)
   EVENT_STOCK_CLICK()
END_EVENT_MAP()

La macro EVENT_STOCK_CLICK indica che il controllo genera un evento Click ogni volta che rileva un clic del mouse. Per un elenco più dettagliato di altri eventi, vedere l'articolo Controlli ActiveX: Eventi. Le macro sono inoltre disponibili per indicare gli eventi personalizzati.

Sebbene le macro di mapping degli eventi sono importanti, non vengono inserite in genere direttamente. Questo perché la finestra Proprietà automaticamente crea nel file sorgente le voci di mapping degli eventi quando la si utilizza per associare le funzioni degli eventi con gli eventi. Ogni qualvolta che si desidera modificare o aggiungere una voce di mapping degli eventi, è possibile utilizzare la finestra Proprietà.

Per supportare le mappe eventi, MFC fornisce le seguenti macro:

Dichiarazione e delimitazione della mappa eventi

DECLARE_EVENT_MAP

Dichiarare che una mappa eventi verrà utilizzata in una classe per eseguire il mapping degli eventi alle funzioni degli eventi (deve essere utilizzato nella dichiarazione di classe).

BEGIN_EVENT_MAP

Iniziare la definizione di una mappa eventi (che sarà utilizzata nell'implementazione della classe).

END_EVENT_MAP

Finire la definizione di una mappa eventi (che sarà utilizzata nell'implementazione della classe).

Macro per il Mapping degli eventi

EVENT_CUSTOM

Indica quale funzione degli eventi consente di generare l'evento specificato.

EVENT_CUSTOM_ID

Indica quale funzione degli eventi consente di generare l'evento specificato, con un designato ID di invio.

Macro per il Mapping di messaggi

ON_OLEVERB

Indica un verbo personalizzato gestito dal controllo OLE.

ON_STDOLEVERB

Eseguire l'override di un mapping dei verbi standard dei controlli OLE.

Vedere anche

Concetti

Macro e funzioni globali MFC