Udostępnij za pośrednictwem


Używanie nieobcinanego kontekstu urządzenia

Jeśli masz absolutną pewność, że kontrolka nie maluje poza prostokątem klienta, możesz zrealizować mały, ale wykrywalny przyrost szybkości, wyłączając wywołanie tej IntersectClipRect funkcji przez COleControlprogram . Aby to zrobić, usuń flagę clipPaintDC z zestawu flag zwróconych przez COleControl::GetControlFlags. Przykład:

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

Kod usuwania tej flagi jest generowany automatycznie po wybraniu opcji Rozpakowywanie kontekstu urządzenia na stronie Kontrola Ustawienia podczas tworzenia kontrolki za pomocą Kreatora formantów ActiveX MFC.

Jeśli używasz aktywacji bez okien, ta optymalizacja nie ma efektu.

Zobacz też

Kontrolki ActiveX MFC: optymalizacja