Partager via


Contrôles ActiveX MFC : optimisation

Cet article explique les techniques que vous pouvez utiliser pour optimiser vos contrôles ActiveX pour de meilleures performances.

Les rubriques Désactiver l'activation lorsque option visible et Fourniture de l'interaction souris pendant qu'inactif décrivent les contrôles qui ne créent pas une fenêtre jusqu'à activé.La rubrique Fourniture de l'activation sans fenêtre décrit les contrôles qui ne créent jamais une fenêtre, même lorsqu'ils sont activés.

Les fenêtres possèdent deux inconvénients principaux pour les objets OLE : elles empêchent les objets d'être transparentes ou nonrectangular si actives, et il ajoute une grande charge mémoire à l'instanciation et l'affichage des contrôles.En général, créant une fenêtre prend 60 % de temps de la création d'un contrôle.Avec une fenêtre partagée unique (généralement le conteneur) et du code l'priorités, un contrôle reçoit les mêmes services de fenêtre, généralement sans perte de performances.Disposer d'une fenêtre est principalement surcharge superflue pour l'objet.

Certaines optimisations n'améliorent pas nécessairement les performances lorsque votre contrôle est utilisé dans certains conteneurs.Par exemple, les conteneurs libérés antérieure à 1996 n'ont pas pris en charge l'activation sans fenêtre, donc implémenter ces fonctionnalités ne fournit pas de privilèges dans des conteneurs plus anciens.Toutefois, presque chaque conteneur prend en charge la persistance, donc l'optimisation du code de la persistance de votre contrôle améliore probablement sa représentation dans tout conteneur.Si votre contrôle est spécialement conçu pour être utilisé avec un type particulier de conteneur, vous pouvez souhaiter effectuer des recherches lequel de ces optimisations est pris en charge par ce conteneur.En général toutefois, vous devez essayer d'implémenter autant de ces techniques de même que votre contrôle particulier pour vérifier votre contrôle exécute également comme il peut éventuellement dans une large sélection de conteneurs.

Vous pouvez implémenter plusieurs de ces optimisations via L'Assistant Contrôle ActiveX MFC, dans la page de paramètres de contrôle .

OLE options d'optimisation de l'Assistant Contrôle ActiveX MFC

Paramètre de contrôle de l'Assistant Contrôle ActiveX MFC

Action

Complément d'information

Case à cocher d'Activate when visible

Clear

Désactiver l'activation lorsque option visible

Case à cocher deWindowless activation

Sélectionner

Fourniture de l'activation sans fenêtre

Case à cocher d'Unclipped device context

Sélectionner

À l'aide d'un contexte Unclipped de périphérique

Case à cocher deFlicker-free activation

Sélectionner

Fourniture de l'activation sans scintillement

Case à cocher deMouse pointer notifications when inactive

Sélectionner

Fourniture de l'interaction souris pendant qu'inactif

Case à cocher d'Optimized drawing code

Sélectionner

Optimiser le dessin de contrôle

Pour plus d'informations sur les fonctions membres qui implémentent ces optimisations, consultez COleControl.Les fonctions membres sont répertoriés par l'utilisation, telle qu' Opérations sans fenêtre et fonctions inactives de gestion de pointeur.

Pour plus d'informations, consultez :

Voir aussi

Concepts

Contrôles ActiveX MFC