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 petit mais détectable en désactivant l’appel à IntersectClipRect celui-ci 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 sélectionné dans la page Contrôle Paramètres, lors de la création de votre contrôle avec l’Assistant 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