Controlli ActiveX MFC: eventi
Eventi di utilizzo dei controlli ActiveX per notificare a un contenitore che se si è verificato al controllo.Gli esempi comuni degli eventi includono fa clic sul controllo, i dati immessi tramite tastiera e le modifiche nello stato del controllo.quando queste azioni si verificano, il controllo genera un evento per avvisare il contenitore.
Eventi vengono chiamati messaggi.
MFC supporta due tipi di eventi: azione e personalizzato.Gli eventi predefiniti sono gli eventi che venga l'handle di COleControl automaticamente.Per un elenco completo degli eventi predefiniti, vedere l'articolo Controlli ActiveX MFC: Aggiunta di eventi predefiniti.Gli eventi personalizzati consentono a un controllo la possibilità di notificare al contenitore quando un'azione specifica del controllo.Alcuni esempi sono una modifica nello stato interno di un controllo o di una ricezione di un determinato messaggio della finestra.
Affinché il controllo generi eventi correttamente, la classe del controllo deve eseguire il mapping di ogni evento del controllo su una funzione membro che deve essere chiamata quando l'evento correlato si verifica.Questo meccanismo di mapping denominato una mappa eventi) centralizza le informazioni sull'evento e consente Visual Studio facilmente l'accesso e modificare gli eventi del controllo.Questa mappa eventi viene dichiarata dalla macro seguente, che si trova nell'intestazione (. H) file della dichiarazione della classe del controllo:
DECLARE_EVENT_MAP()
Dopo la mappa eventi è stata dichiarata, deve essere definito nei file dell'implementazione del controllo (.CPP).Le seguenti righe di codice definiscono la mappa eventi, consentendo il controllo agli eventi specifici di generazione:
BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)
...
END_EVENT_MAP()
Se si utilizza la Creazione guidata controllo ActiveX MFC per creare il progetto, aggiunge automaticamente queste righe.Se non si utilizza la Creazione guidata controllo ActiveX MFC, è necessario aggiungere queste linee manualmente.
Mediante Visualizzazione classi, è possibile aggiungere eventi predefiniti supportati dalla classe COleControl gli eventi o personalizzati definiti.Per ogni nuovo evento, la Visualizzazione classi aggiunge automaticamente la voce appropriata alla mappa eventi del controllo e al file .IDL del controllo.
Altri due elementi descritti in dettaglio gli eventi: