Partager via


Utilisation d’un contexte de périphérique non découpé

Si vous êtes absolument certain que votre contrôle ne peint pas en dehors de son rectangle client, vous pouvez réaliser un gain de vitesse faible mais détectable en désactivant l’appel à IntersectClipRect qui est effectué par COleControl. Pour ce faire, supprimez l’indicateur clipPaintDC de l’ensemble d’indicateurs retourné par COleControl ::GetControlFlags. Par exemple:

DWORD CMyAxOptCtrl::GetControlFlags()
{
   DWORD dwFlags = COleControl::GetControlFlags();
dwFlags &= ~clipPaintDC;
return dwFlags;
}

Le code permettant de supprimer cet indicateur est généré automatiquement si vous sélectionnez l’option Contexte d’appareil non cisaillé dans la page Paramètres de contrôle, lors de la création de votre contrôle avec l’Assistant de contrôle ActiveX MFC.

Si vous utilisez l’activation sans fenêtre, cette optimisation n’a aucun effet.

Voir aussi

Contrôles ActiveX MFC : Optimisation