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.
Komponenten erfordern häufig bestimmte Funktionen aus dem Container und funktionieren nicht mit einem Container, der die Unterstützung nicht bereitstellt. Die Benutzeroberfläche sollte Komponenten herausfiltern, die Funktionen erfordern, die der Container nicht unterstützt. Um dies zu erreichen, können Komponenten nach der erforderlichen Containerfunktionalität kategorisiert werden.
Ein Beispiel für Komponenten, die Funktionen aus dem Container erfordern und nicht in Containern funktionieren, die diese Funktionalität nicht unterstützen, sind einfache Frame-OLE-Steuerelemente. Die Kategorisierung nach Containerfunktionen erfolgt durch einen zusätzlichen Registrierungsschlüssel innerhalb des CLSID-Schlüssels der Komponente:
;The CLSID for "Simple Frame Control" is {123456FF-ABCD-4321-0101-00000000000C}HKEY_CASSES_ROOT\CLSID\{12346FF-ABCD-4321-0101-00000000000C}\Implemented Categories
;The CATID for "Control" is {40FC6ED4-2438-11cf-A3DB-080036F12502} HKEY_CLASSES_ROOT\CLSID\{123456FF-ABCD-4321-0101-00000000000C}Implemented Categories\{40FC6ED4-2438-11cf-A3DB-080036F12502}
;The CATID for simple frame controls is {...CATID_SimpleFrameControl...} HKEY_CLASSES_ROOT\CLSID\{123456FF-ABCD-4321-0101-00000000000C}Implemented Categories\{...CATID_SimpleFrameControl...}
HKEY_CLASSES_ROOT\CLSID\{123456FF-ABCD-4321-0101-00000000000C}Required Categories\{...CATID_SimpleFrameControl...}
Wie in diesem Beispiel gezeigt, kann eine Komponente zu Komponentenkategorien gehören, die unterstützte Funktionen angeben, sowie Komponentenkategorien, die die erforderliche Funktionalität angeben.
Im folgenden Beispiel ist das Schaltflächensteuerelement ein generisches OLE-Steuerelement, das keine zusätzliche Funktionalität unterstützt. Es funktioniert in jedem OLE-Steuerelementcontainer.
HKEY_CLASSES_ROOT\CLSID\{...CLSID_Button...}\Implemented Categories
HKEY_CLASSES_ROOT\CLSID\{...CLSID_Button...}\Implemented Categories\{...CATID_Control...}
Vergleichen Sie das vorherige Beispiel mit dem nächsten Beispiel, in dem MyDBControl die Visual Basic-Datenbindung verwenden kann, wenn der Container sie unterstützt. Es wurde jedoch so definiert, dass es in Containern funktioniert, die keine Visual Basic-Datenbindung unterstützen (möglicherweise durch eine andere Datenbank-API):
HKEY_CLASSES_ROOT\CLSID\{...CLSID_MyDBControl...}\Implemented Categories
HKEY_CLASSES_ROOT\CLSID\{...CLSID_MyDBControl...}\Implemented Categories\{...CATID_Control...}
HKEY_CLASSES_ROOT\CLSID\{...CLSID_MyDBControl...}\Implemented Categories\{...CATID_VBDatabound...}
Das GroupBox-Steuerelement ist ein einfaches Framesteuerelement. Es basiert auf dem Container, der die ISimpleFrameSite-Schnittstelle implementiert, und funktioniert nur in solchen Containern ordnungsgemäß:
HKEY_CLASSES_ROOT\CLSID\{...CLSID_GroupBox...}\Implemented Categories
HKEY_CLASSES_ROOT\CLSID\{...CLSID_GroupBox...}\Implemented Categories\{...CATID_Control...}
HKEY_CLASSES_ROOT\CLSID\{...CLSID_GroupBox...}\Implemented Categories\{...CATID_SimpleFrame...}
HKEY_CLASSES_ROOT\CLSID\{...CLSID_GroupBox...}\Required Categories\{...CATID_SimpleFrame...}
Ein Container, der datengebundene Visual Basic-Steuerelemente unterstützt, aber keine einfachen Framesteuerelemente unterstützt, würde CATID_Control und CATID_VBDatabound für die Benutzeroberfläche des Insert-Steuerelements angeben. Die Liste der Steuerelemente, die dem Benutzer angezeigt werden, enthält die CLSID_Button und CLSID_MyDBControl. CLSID_GroupBox wird nicht angezeigt.
Zugehörige Themen