Dela via


Använda en icke-klippt enhetskontext

Om du är helt säker på att kontrollen inte målas utanför klientens rektangel kan du uppnå en liten men påvisbar hastighetsvinst genom att inaktivera anropet till IntersectClipRect som görs av COleControl. Det gör du genom att ta bort flaggan clipPaintDC från den uppsättning flaggor som returneras av COleControl::GetControlFlags. Till exempel:

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

Koden för att ta bort den här flaggan genereras automatiskt om du väljer alternativet Okortad enhetskontext på sidan Kontrollinställningar när du skapar kontrollen med guiden MFC ActiveX-kontroll.

Om du använder fönsterlös aktivering har den här optimeringen ingen effekt.

Se även

MFC ActiveX-kontroller: Optimering