Verwenden eines Gerätekontexts ohne Clippingbereichsanpassung

Wenn Sie absolut sicher sind, dass Ihr Steuerelement nicht außerhalb des Clientrechtecks zeichnet, können Sie eine kleine, aber erkennbare Geschwindigkeitszunahme erkennen, indem Sie den Anruf deaktivieren IntersectClipRect , der von COleControldiesem ausgeführt wird. Entfernen Sie dazu das clipPaintDC-Flag aus der Reihe von Flags, die von COleControl::GetControlFlags zurückgegeben werden. Beispiel:

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

Der Code zum Entfernen dieses Flags wird automatisch generiert, wenn Sie die Option "Nicht abgeklammerter Gerätekontext" auf der Seite "Steuerelement Einstellungen" auswählen, wenn Sie das Steuerelement mit dem MFC ActiveX-Steuerelement-Assistenten erstellen.

Wenn Sie die fensterlose Aktivierung verwenden, hat diese Optimierung keine Auswirkung.

Siehe auch

MFC-ActiveX-Steuerelemente: Optimierung