Controlli ActiveX

La tecnologia dei controlli ActiveX si basa su una base costituita da oggetti COM, collegabili, documenti composti, pagine delle proprietà, automazione OLE, persistenza degli oggetti e oggetti immagine forniti dal sistema. Come riepilogato di seguito, ognuna di queste tecnologie di base svolge un ruolo nei controlli.

COM

Un controllo è essenzialmente un oggetto COM che espone l'interfaccia IUnknown , tramite cui i client possono ottenere puntatori alle altre interfacce. I controlli possono supportare le licenze tramite IClassFactory2 e la registrazione automatica. Per altre informazioni su COM, licenze e autoregistrazione, vedere Modello a oggetti componente.

oggetti Connessione able

I controlli possono supportare interfacce in uscita tramite oggetti connettibili in modo che il controllo possa comunicare con il client. Ad esempio, un'interfaccia in uscita può attivare un'azione nel client, può notificare al client alcune modifiche nel controllo oppure può richiedere l'autorizzazione dal client prima che il controllo esemplifichi alcune azioni. Per altre informazioni sul funzionamento degli oggetti collegabili, vedere Eventi in COM e oggetti Connessione able.

Trasferimento uniforme dei dati

I controlli possono supportare il trascinamento e l'eliminazione all'interno di un contenitore con assistenza dal contenitore. Per altre informazioni sul trascinamento della selezione, vedi IOleInPlaceObjectWindowless::GetDropTarget.

Documenti composti

Un controllo può essere un oggetto attivo sul posto che può essere incorporato in un client contenitore. Un utente finale attiva il controllo per avviare un'azione nell'applicazione contenitore. Per altre informazioni sull'attivazione sul posto e altre interfacce di documento composte, vedere Documenti composti.

Pagine delle proprietà

I controlli possono fornire pagine delle proprietà in modo che gli utenti finali possano visualizzare e modificare le proprietà del controllo. Per altre informazioni sul funzionamento delle pagine delle proprietà, vedere Pagine delle proprietà e Finestre delle proprietà.

Automazione OLE

I controlli possono fornire la programmabilità tramite l'automazione OLE in modo che i client possano sfruttare le funzionalità del controllo tramite un linguaggio di programmazione fornito dal client. Per altre informazioni sull'automazione OLE, vedere la sezione Automazione OLE.

Archiviazione permanente

Un controllo può implementare una o più interfacce di persistenza per supportare la persistenza dello stato. L'implementatore del controllo deve decidere quali tipi di persistenza sono più importanti e implementare le interfacce di persistenza appropriate. Il client decide quale interfaccia preferisce usare. Per altre informazioni su tutte le interfacce di persistenza, vedere Modello a oggetti componente.

Oggetti carattere e immagine

I controlli possono usare questi oggetti forniti dal sistema per fornire una rappresentazione visiva di se stessi all'interno del client. L'oggetto carattere implementa diverse interfacce, tra cui IFont e IFontDisp. È possibile creare un oggetto font con OleCreateFontIndirect. L'oggetto immagine implementa anche diverse interfacce, tra cui IPicture e IPictureDisp. Un oggetto immagine può essere creato usando OleCreatePictureIndirect e può essere caricato da un flusso con OleLoadPicture.

È importante comprendere che queste funzionalità possono essere usate in qualsiasi oggetto OLE. Non è necessario implementare un controllo per usare queste funzionalità. Inoltre, l'unica interfaccia necessaria in un controllo è IUnknown. Il controllo supporta facoltativamente altre interfacce in base alla necessità di supportare le funzionalità correlate.

Oltre a queste funzionalità, le interfacce e le funzioni seguenti sono specifiche per la tecnologia dei controlli: IOleControl, IOleControlSite, ISimpleFrameSite e OleTranslateColor. Inoltre, specifici dei controlli sono un set di standard per proprietà e metodi che un controllo o un contenitore di controlli può supportare.

Nota

La libreria di sistema OleAut32.dll contiene implementazioni delle funzioni (OleCreatePropertyFrame, OleCreatePropertyFrameIndirect, OleCreateFontIndirect, OleCreatePictureIndirect, OleLoadPicture e OleTranslateColor). Inoltre, OleAut32.dll contiene le implementazioni dei tipi di carattere e degli oggetti immagine standard, nonché una libreria dei tipi per tutte le interfacce usate con i controlli, nonché le strutture di dati e i tipi di dati aggiuntivi.

 

Per ulteriori informazioni, vedi gli argomenti seguenti:

Linee guida per controlli e controlli ActiveX