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.
In het venster Eigenschappen worden velden in een raster weergegeven. De linkerkolom bevat de eigenschapsnamen; de rechterkolom bevat de eigenschapswaarden.
Werken met het raster
De lijst met twee kolommen bevat configuratie-onafhankelijke eigenschappen die kunnen worden gewijzigd tijdens het ontwerp en hun huidige instellingen. Houd er rekening mee dat alle eigenschappen mogelijk niet worden weergegeven. Een eigenschap kan bijvoorbeeld worden ingesteld als verborgen door de HideProperty methode te implementeren. Om eigenschappen met onderliggende eigenschappen te verbergen, moet u het volgende doen:
Stel de
pfDisplayparameter in DisplayChildProperties opFALSE.Stel de
pfHideparameter in HideProperty opTRUE.
De IDE gebruikt om informatie naar het venster ISelectionContainer te pushen.
ISelectionContainer wordt aangeroepen door VSPackages voor elk venster dat selecteerbare objecten bevat met gerelateerde eigenschappen die moeten worden weergegeven in het venster Eigenschappen . De implementatie van aanroepen van ISelectionContainer met behulp van GetProperty__VSHPROPID. VSHPROPID_BrowseObject in uw projecthiërarchie om de wenkbrauwbare objecten in de hiërarchie te verkrijgen.
Als uw VSPackage geen ondersteuning biedt voor __VSHPROPID. VSHPROPID_BrowseObject probeert de IDE de waarde voor __VSHPROPID te gebruiken GetProperty. VSHPROPID_SelContainer dat het hiërarchie-item of de items worden opgegeven.
Uw project VSPackage hoeft niet te worden gemaakt ISelectionContainer omdat het door IDE geleverde vensterpakket waarmee het wordt geïmplementeerd (bijvoorbeeld Solution Explorer) namens het project wordt gemaakt ISelectionContainer .
ISelectionContainer bestaat uit drie methoden die worden aangeroepen door de IDE:
CountObjects bevat het aantal objecten dat moet worden weergegeven in het venster Eigenschappen .
GetObjects retourneert de
IDispatchobjecten die zijn geselecteerd om weer te geven in het venster Eigenschappen .SelectObjects maakt het mogelijk dat alle objecten die worden geretourneerd door GetObjects de gebruiker worden geselecteerd. Hierdoor kan vsPackage de selectie die wordt weergegeven, visueel bijwerken naar de gebruiker in de gebruikersinterface.
Het venster Eigenschappen extraheert informatie uit de IDispatch objecten om de eigenschappen op te halen die worden bekeken. De browser Eigenschappen gebruikt IDispatch om het object te vragen welke eigenschappen het ondersteunt door query's uit te voeren ITypeInfo, die worden verkregen van IDispatch::GetTypeInfo. De browser gebruikt deze waarden vervolgens om het venster Eigenschappen te vullen en de waarden te wijzigen voor afzonderlijke eigenschappen die in het raster worden weergegeven. De eigenschappengegevens worden in het object zelf bijgehouden.
Omdat de geretourneerde objecten worden ondersteundIDispatch, kan de beller informatie verkrijgen, zoals de naam van het object door een IDispatch::Invoke of een vooraf gedefinieerde verzend-id (DISPID) aan te roepen ITypeInfo::Invoke die de gewenste informatie vertegenwoordigt. Gedeclareerde DISPID's zijn negatief om ervoor te zorgen dat ze niet conflicteren met door de gebruiker gedefinieerde id's.
In het venster Eigenschappen worden verschillende typen velden weergegeven, afhankelijk van de kenmerken van specifieke eigenschappen van een geselecteerd object. Deze velden omvatten bewerkingsvakken, vervolgkeuzelijsten en koppelingen naar dialoogvensters voor aangepaste editor.
Waarden in een geïnventariseerd lijst worden opgehaald door een GetObjects query naar
IDispatch. Waarden die zijn verkregen uit een geïnventariseerd lijst, kunnen worden gewijzigd in het eigenschappenraster door te dubbelklikken op de veldnaam of door op de waarde te klikken en de nieuwe waarde in de vervolgkeuzelijst te selecteren. Voor eigenschappen met vooraf gedefinieerde instellingen uit geïnventariseerd lijsten dubbelklikt u op de naam van de eigenschap in de lijst Eigenschappen door de beschikbare opties. Voor vooraf gedefinieerde eigenschappen met slechts twee opties, zoals waar/onwaar, dubbelklikt u op de naam van de eigenschap om te schakelen tussen de keuzen.Als HasDefaultValue dit het
falseargument is, waarmee wordt aangegeven dat de waarde is gewijzigd, wordt de waarde vetgedrukt weergegeven. CanResetPropertyValue wordt gebruikt om te bepalen of de waarde opnieuw kan worden ingesteld op de oorspronkelijke waarde. Zo ja, dan kunt u teruggaan naar de standaardinstelling door met de rechtermuisknop op de waarde te klikken en Opnieuw instellen te kiezen in het menu dat wordt weergegeven. Anders moet u de waarde handmatig terugzetten naar de standaardwaarde. IVsPerPropertyBrowsing U kunt ook de namen van eigenschappen lokaliseren en verbergen die tijdens de ontwerptijd worden weergegeven, maar heeft geen invloed op de eigenschapsnamen die tijdens de runtime worden weergegeven.Als u op het beletselteken (...) klikt, wordt een lijst met eigenschapswaarden weergegeven waaruit de gebruiker kan selecteren (zoals een kleurenkiezer of een lijst met lettertypen). IProvidePropertyBuilder geeft deze waarden op.