Mappe eventi

Ogni volta che un controllo voglia informare il relativo contenitore che un'azione (determinata dallo sviluppatore del controllo) si è verificata (come una sequenza di tasti, il clic del mouse, oppure modificare lo stato del controllo) chiama una funzione di evento-infornamento.Questa funzione notifica al contenitore di controlli che una determinata azione importante si è verificata generando l'evento correlato.

La libreria MFC offre un modello di programmazione ottimizzato per generare gli eventi.In questo modello, “le mappe eventi„ vengono utilizzate per definire quali generazione di funzioni quali eventi per un determinato controllo.Le mappe eventi contengono una macro per ogni evento.Ad esempio, una mappa eventi che genera un evento Click predefinito potrebbe essere simile al seguente:

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

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

Sebbene macro della mappa eventi sono importanti, non vengono inserite in genere direttamente.Questo perché la Finestra Proprietà crea automaticamente le voci della mappa eventi nei file di origine quando la si utilizza per associare le funzioni di evento-infornamento con gli eventi.Ogni qualvolta si desidera modificare o aggiungere una voce della mappa eventi, è possibile utilizzare la Finestra Proprietà.

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

Dichiarazione e delimitazione della mappa eventi

DECLARE_EVENT_MAP

Indica che una mappa eventi verrà utilizzata la classe per eseguire il mapping degli eventi alle funzioni di evento-infornamento (deve essere utilizzato nella dichiarazione di classe).

BEGIN_EVENT_MAP

Iniziare la definizione di una mappa eventi (deve essere utilizzato nell'implementazione della classe).

END_EVENT_MAP

Termina la definizione di una mappa eventi (deve essere utilizzato nell'implementazione della classe).

Macro di mapping di evento

EVENT_CUSTOM

Indica quale funzione di evento-infornamento genererà l'evento specificato.

EVENT_CUSTOM_ID

Indica quale funzione di evento-infornamento genererà l'evento specificato, con un ID dispatch definita

Macro di mapping dei messaggi

ON_OLEVERB

Indica un verbo personalizzato gestito dal controllo OLE.

ON_STDOLEVERB

Esegue l'override di un mapping standard dei verbi del controllo OLE.

Vedere anche

Concetti

Macro MFC e Globals