Usar un contexto de dispositivo no recortado
Si está absolutamente seguro de que el control no pinta fuera de su rectángulo cliente, puede obtener una ganancia de velocidad pequeña pero detectable deshabilitando la llamada a IntersectClipRect
que realiza COleControl
. Para ello, quite la marca clipPaintDC del conjunto de marcas devueltas por COleControl::GetControlFlags. Por ejemplo:
DWORD CMyAxOptCtrl::GetControlFlags()
{
DWORD dwFlags = COleControl::GetControlFlags();
dwFlags &= ~clipPaintDC;
return dwFlags;
}
El código para incluir esta marca se genera automáticamente si se selecciona la opción Contexto de dispositivo no recortado en la página Configuración de control al crear el control con el Asistente para controles ActiveX de MFC.
Si está usando la activación sin ventanas, esta optimización no tiene ningún efecto.