Controlli ActiveX MFC: metodi
Un controllo ActiveX genera gli eventi per comunicare tra se stesso e il proprio contenitore di controlli.Un contenitore inoltre possibile comunicare con un controllo per l'utilizzo di metodi e proprietà.I metodi sono definiti anche funzioni.
I metodi e le proprietà forniscono un'interfaccia esportata da altre applicazioni, come contenitore di controlli ActiveX e i client di automazione.Per ulteriori informazioni sulle proprietà del controllo ActiveX, vedere l'articolo Controlli ActiveX MFC: proprietà.
I metodi sono simili utilizzato e scopo le funzioni membro di una classe C++.Esistono due tipi di metodi che il controllo può implementare: azione e personalizzato.simile agli eventi predefiniti, i metodi predefiniti sono quei metodi per il quale COleControl fornisce un'implementazione.Per ulteriori informazioni sui metodi predefiniti, vedere l'articolo Controlli ActiveX MFC: Aggiunta dei metodi predefiniti.I metodi personalizzati, definiti dallo sviluppatore, consentono la personalizzazione aggiuntive del controllo.Per ulteriori informazioni, vedere l'articolo Controlli ActiveX MFC: Metodi personalizzate di aggiunta.
La libreria MFC implementa un meccanismo che consente il controllo ai metodi predefiniti e personalizzati di supporto.La prima parte è una classe COleControl.Derivato da CWnd, metodi di azione del supporto tecnico funzioni membro di COleControl comuni a tutti i controlli ActiveX.la seconda parte di questo meccanismo è la mappa di invio.Una mappa di invio è simile a una mappa messaggi, tuttavia, anziché eseguire il mapping di una funzione a un ID messaggio di windows, una mappa di invio esegue il mapping delle funzioni membro virtuali agli ID IDispatch.
Affinché un controllo supporti i vari metodi correttamente, la classe deve dichiarare una mappa di invio.Questa operazione viene eseguita dalla seguente riga di codice disponibile nell'intestazione della classe del controllo (. h) file:
DECLARE_DISPATCH_MAP()
Lo scopo principale della mappa di invio è stabilire la relazione tra i nomi dei metodi utilizzati da un chiamante esterno (come il contenitore) e le funzioni membro della classe di controlli che implementano i metodi.Dopo la mappa di invio è stata dichiarata, deve essere definito nel file dell'implementazione del controllo (.CPP).le seguenti righe di codice definiscono la mappa di invio:
BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)
...
END_DISPATCH_MAP()
Se è stato utilizzato Creazione guidata controllo ActiveX MFC per creare il progetto, queste righe sono state aggiunte automaticamente.Se la Creazione guidata controllo ActiveX MFC non è stata utilizzata, è necessario aggiungere queste linee manualmente.
I seguenti articoli in commercio i metodi: