Controlli ActiveX MFC: metodi

Un controllo ActiveX genera eventi per comunicare tra se stesso e il relativo contenitore di controlli. Un contenitore può anche comunicare con un controllo tramite metodi e proprietà. I metodi sono detti anche funzioni.

I metodi e le proprietà forniscono un'interfaccia esportata per l'uso da parte di altre applicazioni, ad esempio client di automazione e contenitori di controlli ActiveX. Per altre informazioni sulle proprietà dei controlli ActiveX, vedere l'articolo Controlli ActiveX MFC: Proprietà.

I metodi sono simili all'uso e allo scopo delle funzioni membro di una classe C++. Esistono due tipi di metodi che il controllo può implementare: stock e custom. Analogamente agli eventi azionari, i metodi azionari sono i metodi per i quali COleControl fornisce un'implementazione. Per altre informazioni sui metodi azionari, vedere l'articolo Controlli ActiveX MFC: Aggiunta di metodi azionari. I metodi personalizzati, definiti dallo sviluppatore, consentono una personalizzazione aggiuntiva del controllo. Per altre informazioni, vedere l'articolo Controlli ActiveX MFC: Aggiunta di metodi personalizzati.

Microsoft Foundation Class Library (MFC) implementa un meccanismo che consente al controllo di supportare metodi personalizzati e azionari. La prima parte è la classe COleControl. Derivate da CWnd, COleControl le funzioni membro supportano metodi azionari comuni a tutti i controlli ActiveX. La seconda parte di questo meccanismo è la mappa di distribuzione. Una mappa di recapito è simile a una mappa messaggi; Tuttavia, invece di eseguire il mapping di una funzione a un ID messaggio di Windows, una mappa dispatch esegue il mapping delle funzioni membro virtuali a IDispatch IDS.

Affinché un controllo supporti correttamente vari metodi, la relativa classe deve dichiarare una mappa dispatch. Questa operazione viene eseguita dalla riga di codice seguente che si trova nell'intestazione della classe di controllo (. H) file:

DECLARE_DISPATCH_MAP()

Lo scopo principale della mappa di distribuzione è stabilire la relazione tra i nomi dei metodi usati da un chiamante esterno (ad esempio il contenitore) e le funzioni membro della classe del controllo che implementano i metodi. Dopo aver dichiarato la mappa dispatch, deve essere definita nell'implementazione del controllo (. File CPP). Le righe di codice seguenti definiscono la mappa di distribuzione:

BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)
END_DISPATCH_MAP()

Se è stata utilizzata la 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 manualmente queste righe.

Gli articoli seguenti illustrano in dettaglio i metodi:

Vedi anche

Controlli ActiveX MFC