Freigeben über


Deaktivieren der Option „Aktiviert, wenn sichtbar“

Ein Steuerelement verfügt über zwei grundlegende Zustände: aktiv und inaktiv. In der Vergangenheit unterschieden sich diese Zustände dadurch, ob das Steuerelement ein Fenster hatte oder nicht. Ein aktives Steuerelement wies ein Fenster auf, ein inaktives Steuerelement wies kein Fenster auf. Mit der Einführung der fensterlose Aktivierung, ist diese Unterscheidung nicht mehr universell, gilt aber weiterhin für viele Steuerelemente.

Verglichen mit der Initialisierung, die üblicherweise von ein ActiveX-Steuerelement ausgeführt wird, wird die Erstellung eines Fensters ein sehr viel Rechenleistung. Idealerweise hätte ein Steuerelement das Erstellen des Fensters bis absolut notwendig ausgecheckt verzögern.

Viele Steuerelemente, müssen nicht aktiv festlegen die Gesamtzeit, die in einem Container sichtbar sind. Häufig kann ein Steuerelement in inaktiven Zustand verbleiben, bis der Benutzer einen Vorgang ausführt, die es benötigt, aktiv werden, (beispielsweise Klicken mit der Maus oder Die TAB-TASTE drücken). Um ein Steuerelement zu bewirken auf den Container zu inaktiv bleiben muss sie aktivieren, entfernen das Flag OLEMISC_ACTIVATEWHENVISIBLE aus verschiedenen Flags des Steuerelements:

static const DWORD BASED_CODE _dwNVC_MFC_AxOptOleMisc =
   OLEMISC_SETCLIENTSITEFIRST |
   OLEMISC_INSIDEOUT |
   OLEMISC_CANTLINKINSIDE |
   OLEMISC_RECOMPOSEONRESIZE;

Das OLEMISC_ACTIVATEWHENVISIBLE-Flag wird automatisch weggelassen, wenn Sie die Option Aktivieren, wenn sichtbar in der Steuerelementeinstellungen Seite MFC-ActiveX-Steuerelement-Assistenten deaktivieren, wenn Sie das Steuerelement erstellt.

Siehe auch

Konzepte

MFC-ActiveX-Steuerelemente: Optimierung