Freigeben über


MFC ActiveX-Steuerelemente: Optimierung

In diesem Artikel werden Techniken erläutert, mit deren Hilfe Sie Ihre ActiveX-Steuerelemente optimieren können, um eine bessere Leistung zu erzielen.

Von Bedeutung

ActiveX ist eine ältere Technologie, die nicht für die neue Entwicklung verwendet werden sollte. Weitere Informationen zu modernen Technologien, die ActiveX ersetzen, finden Sie unter ActiveX-Steuerelemente.

In den Themen zum Deaktivieren der Option "Aktivieren beim Anzeigen" und bereitstellen von Mausinteraktionen während inaktiv werden Steuerelemente behandelt, die erst ein Fenster erstellen, nachdem es aktiviert wurde. Im Thema "Bereitstellen der fensterlosen Aktivierung " werden Steuerelemente erläutert, die nie ein Fenster erstellen, auch wenn sie aktiviert werden.

Windows hat zwei wesentliche Nachteile für OLE-Objekte: Sie verhindern, dass Objekte transparent oder nichtectangular sind, wenn sie aktiv sind, und sie fügen einen großen Aufwand zur Instanziierung und Anzeige von Steuerelementen hinzu. In der Regel dauert das Erstellen eines Fensters 60 Prozent der Erstellungszeit eines Steuerelements. Bei einem einzelnen freigegebenen Fenster (in der Regel dem Container) und einem bestimmten Verteilercode empfängt ein Steuerelement die gleichen Fensterdienste, im Allgemeinen ohne Leistungsverlust. Das Vorhandensein eines Fensters ist meist unnötiger Aufwand für das Objekt.

Einige Optimierungen verbessern nicht unbedingt die Leistung, wenn Ihr Steuerelement in bestimmten Containern verwendet wird. Container, die vor 1996 veröffentlicht wurden, unterstützen beispielsweise keine fensterlose Aktivierung, sodass die Implementierung dieses Features in älteren Containern keinen Vorteil bietet. Fast jeder Container unterstützt jedoch Persistenz, sodass die Optimierung des Persistenzcodes ihres Steuerelements wahrscheinlich die Leistung in jedem Container verbessert. Wenn Ihr Steuerelement speziell für die Verwendung mit einem bestimmten Containertyp vorgesehen ist, sollten Sie untersuchen, welche dieser Optimierungen von diesem Container unterstützt werden. Im Allgemeinen sollten Sie jedoch versuchen, so viele dieser Techniken zu implementieren, wie sie für Ihr bestimmtes Steuerelement gelten, um sicherzustellen, dass Ihr Steuerelement funktioniert und es in einer vielzahl von Containern möglich ist.

Sie können viele dieser Optimierungen über den MFC ActiveX-Steuerelement-Assistenten auf der Seite " Steuerelementeinstellungen" implementieren.

MFC ActiveX-Steuerelement-Assistent OLE-Optimierungsoptionen

Steuerelementeinstellung im MFC ActiveX-Steuerelement-Assistenten Maßnahme Mehr Informationen
Aktivieren, wenn das Kontrollkästchen angezeigt wird Klar Deaktivieren der Option "Beim Anzeigen aktivieren"
Kontrollkästchen "Fensterlose Aktivierung" Auswählen Bereitstellen der fensterlosen Aktivierung
Kontrollkästchen "Nicht angeklammerter Gerätekontext" Auswählen Verwenden eines nicht abgeklammerten Gerätekontexts
Kontrollkästchen "Flimmerfreie Aktivierung" Auswählen Bereitstellen Flicker-Free Aktivierung
Mauszeigerbenachrichtigungen bei inaktiven Kontrollkästchen Auswählen Bereitstellen von Mausinteraktionen während inaktiver
Kontrollkästchen "Optimierter Zeichnungscode" Auswählen Optimieren der Steuerelementzeichnung

Ausführliche Informationen zu den Memberfunktionen, die diese Optimierungen implementieren, finden Sie unter COleControl.

Weitere Informationen finden Sie unter:

Siehe auch

MFC ActiveX-Steuerelemente