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: