Condividi tramite


Controlli ActiveX MFC: metodi

Un controllo ActiveX genera eventi per comunicare tra se stesso e il proprio contenitore di controlli. Un contenitore è possibile comunicare con un controllo per l'utilizzo di metodi e proprietà. I metodi sono definiti anche funzioni.

Le proprietà e i metodi forniscono un'interfaccia esportata per l'utilizzo da parte di altre applicazioni, ad esempio i client di automazione e contenitori di controlli ActiveX. Per ulteriori informazioni sulle proprietà dei controlli 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: e azione personalizzata. Simile agli eventi predefiniti, i metodi predefiniti sono quei metodi per i quali 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.

Libreria Microsoft Foundation classes (MFC) implementa un meccanismo che consente il controllo ai metodi predefiniti e personalizzati di supporto. La prima parte è una classe COleControl. Derivato da CWnd, i metodi di azione del supporto tecnico funzioni membro di COleControl comuni a tutti i controlli ActiveX. La seconda parte di questo meccanismo è la mappa submit. Una mappa di invio è simile a una mappa messaggi; tuttavia, anziché eseguire il mapping di una funzione a un messaggio ID delle finestre, una mappa di invio esegue il mapping delle funzioni membro virtuali agli ID IDispatch.

Affinché un controllo supporta i vari metodi correttamente, la classe deve dichiarare una mappa di invio. Questa operazione viene eseguita dalla riga di codice seguente trova in 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 di classe di controlli che implementano i metodi. Dopo la mappa di invio è stata dichiarata, deve essere definita nel file di 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, tali righe sono state aggiunte automaticamente. Se la Creazione guidata controllo ActiveX MFC non venisse utilizzato, è necessario aggiungere queste righe manualmente.

Gli articoli seguenti vengono illustrati in dettaglio i metodi:

Vedere anche

Concetti

Controlli ActiveX MFC