Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Onderdelen vereisen vaak bepaalde functionaliteit van de container en werken niet met een container die de ondersteuning niet biedt. De gebruikersinterface moet onderdelen filteren die functionaliteit vereisen die de container niet ondersteunt. Hiervoor kunnen onderdelen worden gecategoriseerd op basis van de vereiste containerfunctionaliteit.
Een voorbeeld van onderdelen waarvoor functionaliteit van de container is vereist en die niet werken in containers die geen ondersteuning bieden voor die functionaliteit, zijn eenvoudige OLE-besturingselementen voor frame. Categoriseren op containermogelijkheden wordt bereikt door een extra registersleutel binnen de CLSID-sleutel van het onderdeel:
;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...}
Zoals in dit voorbeeld wordt weergegeven, kan een onderdeel behoren tot onderdeelcategorieën die de ondersteunde functionaliteit aangeven, evenals van onderdeelcategorieën die de vereiste functionaliteit aangeven.
In het volgende voorbeeld is het knop besturingselement een algemeen OLE-besturingselement dat geen extra functionaliteit ondersteunt. Het werkt in een OLE-besturingscontainer.
HKEY_CLASSES_ROOT\CLSID\{...CLSID_Button...}\Implemented Categories
HKEY_CLASSES_ROOT\CLSID\{...CLSID_Button...}\Implemented Categories\{...CATID_Control...}
Vergelijk het voorgaande voorbeeld met het volgende voorbeeld waarin MyDBControl Visual Basic-gegevensbinding kan gebruiken als de container dit ondersteunt. Het is echter gedefinieerd zodat het werkt in containers die geen ondersteuning bieden voor Visual Basic-gegevensbinding (mogelijk door een andere database-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...}
Het GroupBox-besturingselement is een eenvoudig frame. Deze is afhankelijk van de container die de ISimpleFrameSite interface implementeert en werkt alleen correct in dergelijke containers:
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...}
Een container die gegevensgebonden Visual Basic-controls ondersteunt, maar geen eenvoudige framecontrols ondersteunt, zou CATID_Control en CATID_VBDatabound specificeren in de gebruikersinterface voor het invoegen van controls. De lijst met besturingselementen die aan de gebruiker worden weergegeven, bevat de CLSID_Button en CLSID_MyDBControl. CLSID_GroupBox wordt niet weergegeven.
Verwante onderwerpen
-
De van Component Categories Manager