Controlli ActiveX MFC: ottimizzazione

Questo articolo illustra le tecniche che è possibile usare per ottimizzare i controlli ActiveX per ottenere prestazioni migliori.

Importante

ActiveX è una tecnologia legacy che non deve essere usata per il nuovo sviluppo. Per altre informazioni sulle tecnologie moderne che sostituisce ActiveX, vedere Controlli ActiveX.

Negli argomenti l'opzione Attiva quando visibile viene attivata e viene illustrato l'interazione del mouse mentre inattivo vengono illustrati i controlli che non creano una finestra fino all'attivazione. L'argomento Specifica attivazione senza finestra illustra i controlli che non creano mai una finestra, anche quando vengono attivati.

Windows presenta due svantaggi principali per gli oggetti OLE: impediscono che gli oggetti siano trasparenti o non rectangulari quando sono attivi e aggiungono un sovraccarico elevato alla creazione di istanze e alla visualizzazione dei controlli. In genere, la creazione di una finestra richiede il 60% del tempo di creazione di un controllo. Con una singola finestra condivisa (in genere il contenitore) e un codice di invio, un controllo riceve gli stessi servizi finestra, in genere senza perdita di prestazioni. La presenza di una finestra è principalmente un sovraccarico non necessario per l'oggetto.

Alcune ottimizzazioni non migliorano necessariamente le prestazioni quando il controllo viene usato in determinati contenitori. Ad esempio, i contenitori rilasciati prima del 1996 non supportavano l'attivazione senza finestra, quindi l'implementazione di questa funzionalità non offrirà un vantaggio nei contenitori meno recenti. Tuttavia, quasi ogni contenitore supporta la persistenza, quindi l'ottimizzazione del codice di persistenza del controllo migliorerà probabilmente le prestazioni in qualsiasi contenitore. Se il controllo deve essere usato specificamente con un determinato tipo di contenitore, è possibile eseguire ricerche su quali ottimizzazioni sono supportate da tale contenitore. In generale, tuttavia, è consigliabile provare a implementare il numero di queste tecniche applicabili al controllo specifico per garantire che il controllo esegua e che possa essere in un'ampia gamma di contenitori.

È possibile implementare molte di queste ottimizzazioni tramite la Creazione guidata controllo ActiveX MFC, nella pagina Controllo Impostazioni.

Opzioni di ottimizzazione OLE della Creazione guidata controllo ActiveX MFC

Impostazione del controllo nella Creazione guidata controllo ActiveX MFC Azione Altre informazioni
Attiva quando visibile casella di controllo Clear Disattivazione dell'opzione Attiva quando visibile
Casella di controllo Attivazione senza finestra Seleziona Attivazione senza finestra
Casella di controllo Contesto dispositivo senza clip Seleziona Uso di un contesto di dispositivo integro
Casella di controllo Attivazione senza sfarfallio Seleziona Offrire l'attivazione senza sfarfallio
Notifiche del puntatore del mouse quando la casella di controllo è inattiva Seleziona Inserimento di interazione del mouse in stato di inattività
Casella di controllo Codice disegno ottimizzato Seleziona Ottimizzazione del disegno dei controlli

Per informazioni dettagliate sulle funzioni membro che implementano queste ottimizzazioni, vedere COleControl.

Per altre informazioni, vedere:

Vedi anche

Controlli ActiveX MFC