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.
Ein Steuerelement verfügt über zwei grundlegende Zustände: aktiv und inaktiv. Traditionell wurden diese Zustände davon unterschieden, ob das Steuerelement über ein Fenster verfügte. Ein aktives Steuerelement hatte ein Fenster; ein inaktives Steuerelement nicht. Mit der Einführung der fensterlosen Aktivierung ist diese Unterscheidung nicht mehr universell, gilt aber dennoch für viele Steuerelemente.
Im Vergleich zu den restlichen Initialisierungen, die normalerweise von einem ActiveX-Steuerelement durchgeführt werden, ist die Erstellung eines Fensters ein extrem kostspieliger Vorgang. Im Idealfall würde ein Steuerelement das Erstellen des Fensters zurückstellen, bis es unbedingt erforderlich ist.
Viele Steuerelemente müssen nicht die gesamte Zeit aktiv sein, die sie in einem Container sichtbar sind. Häufig kann ein Steuerelement im inaktiven Zustand verbleiben, bis der Benutzer einen Vorgang ausführt, der erforderlich ist, aktiv zu werden (z. B. Klicken mit der Maus oder Drücken der TAB-TASTE). Damit ein Steuerelement inaktiv bleibt, bis der Container es aktivieren muss, entfernen Sie das OLEMISC_ACTIVATEWHENVISIBLE Flag aus den 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 Beim Anzeigen aktivieren auf der Seite Steuerelementeinstellungen des MFC ActiveX-Steuerelement-Assistenten deaktivieren, während Sie das Steuerelement erstellen.