À l'aide d'un contexte Unclipped de périphérique
Si vous êtes absolument certain que le contrôle ne peigne pas à l'extérieur du rectangle du client, réalisez un petit mais détectable rapide tracée en désactivant l'appel à IntersectClipRect réalisé par COleControl. Pour cela, supprimez l'indicateur de clipPaintDC de l'ensemble de balises retournées par COleControl::GetControlFlags. Par exemple :
DWORD CMyAxOptCtrl::GetControlFlags()
{
DWORD dwFlags = COleControl::GetControlFlags();
...
dwFlags &= ~clipPaintDC;
...
return dwFlags;
}
Le code pour supprimer cet indicateur est automatiquement généré si vous sélectionnez l'option de Contexte de périphérique (DC) non découpé dans la page de Paramètres du contrôle, en créant votre contrôle avec l'Assistant Contrôle ActiveX MFC.
Si vous utilisez l'activation sans fenêtre, cette optimisation n'a aucun effet.