Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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: