Freigeben über


Verwenden eines Gerätekontexts ohne Clippingbereichsanpassung

Wenn Sie absolut sicher sind, dass Ihr Steuerelement nicht außerhalb seines Client-Rechtecks zeichnet, können Sie einen kleinen, aber spürbaren Geschwindigkeitsgewinn erzielen, indem Sie den Aufruf von IntersectClipRect, der von COleControl gemacht wird, deaktivieren. 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 " Steuerelementeinstellungen " 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