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.
Im Eigenschaftenfenster werden Felder in einem Raster angezeigt. Die linke Spalte enthält die Eigenschaftennamen; die rechte Spalte enthält die Eigenschaftswerte.
Arbeiten mit dem Raster
Die zweispaltige Liste enthält konfigurationsunabhängige Eigenschaften, die zur Entwurfszeit und deren aktuelle Einstellungen geändert werden können. Beachten Sie, dass möglicherweise nicht alle Eigenschaften angezeigt werden. Eine Eigenschaft kann beispielsweise durch Implementieren der HideProperty Methode als ausgeblendet festgelegt werden. Zum Ausblenden von Eigenschaften mit untergeordneten Eigenschaften:
Legen Sie den
pfDisplayParameter auf DisplayChildPropertiesFALSE.Legen Sie den
pfHideParameter auf HidePropertyTRUE.
Um Informationen in das Eigenschaftenfenster zu übertragen, verwendet ISelectionContainerdie IDE .
ISelectionContainer wird von VSPackages für jedes Fenster aufgerufen, das auswählbare Objekte mit verwandten Eigenschaften enthält, die im Eigenschaftenfenster angezeigt werden sollen. Die Implementierung von Aufrufen des ISelectionContainer mithilfe von GetProperty__VSHPROPID. VSHPROPID_BrowseObject in Der Projekthierarchie, um die durchbrochenen Objekte in der Hierarchie zu erhalten.
Wenn Ihr VSPackage __VSHPROPID nicht unterstützt . VSHPROPID_BrowseObject versucht die IDE, den Wert für __VSHPROPID zu verwenden GetProperty. VSHPROPID_SelContainer , die das Hierarchieelement oder die Elemente bereitstellen.
Das Projekt VSPackage muss nicht erstellt werden ISelectionContainer , da das von der IDE bereitgestellte Fensterpaket, das es implementiert (z. B. Projektmappen-Explorer), Konstrukte ISelectionContainer in seinem Auftrag erstellt.
ISelectionContainer besteht aus drei Methoden, die von der IDE aufgerufen werden:
CountObjects enthält die Anzahl der objekte, die im Eigenschaftenfenster angezeigt werden sollen.
GetObjects gibt die Objekte zurück, die
IDispatchim Eigenschaftenfenster angezeigt werden sollen.SelectObjects ermöglicht es, dass alle vom Benutzer zurückgegebenen GetObjects Objekte ausgewählt werden. Dadurch kann vsPackage die auswahl, die dem Benutzer auf der Benutzeroberfläche angezeigt wird, visuell aktualisieren.
Das Eigenschaftenfenster extrahiert Informationen aus den IDispatch Objekten, um die zu durchsuchenden Eigenschaften abzurufen. Der Eigenschaftenbrowser verwendet IDispatch , um das Objekt zu fragen, welche Eigenschaften sie durch Abfragen ITypeInfounterstützt, die abgerufen werden IDispatch::GetTypeInfo. Der Browser verwendet dann diese Werte, um das Eigenschaftenfenster aufzufüllen und die Werte für einzelne Eigenschaften zu ändern, die im Raster angezeigt werden. Die Eigenschafteninformationen werden innerhalb des Objekts selbst verwaltet.
Da die zurückgegebenen Objekte unterstützt IDispatchwerden, kann der Aufrufer Informationen wie den Namen des Objekts abrufen, indem er entweder IDispatch::Invoke oder ITypeInfo::Invoke mit einem vordefinierten Verteilerbezeichner (DISPID) aufruft, der die gewünschten Informationen darstellt. Deklarierte DISPIDs sind negativ, um sicherzustellen, dass sie keinen Konflikt mit benutzerdefinierten Bezeichnern verursachen.
Im Eigenschaftenfenster werden je nach Den Attributen bestimmter Eigenschaften eines ausgewählten Objekts unterschiedliche Feldtypen angezeigt. Zu diesen Feldern gehören Bearbeitungsfelder, Dropdownlisten und Links zu benutzerdefinierten Editor-Dialogfeldern.
Werte, die in einer Aufzählungsliste enthalten sind, werden von einer GetObjects Abfrage abgerufen.
IDispatchWerte, die aus einer aufgezählten Liste abgerufen werden, können im Eigenschaftenraster geändert werden, indem Sie auf den Feldnamen doppelklicken oder auf den Wert klicken und den neuen Wert aus der Dropdownliste auswählen. Bei Eigenschaften, die vordefinierte Einstellungen aus aufgezählten Listen aufweisen, werden durch Doppelklicken auf den Eigenschaftennamen in der Eigenschaftenliste die verfügbaren Optionen durchlaufen. Doppelklicken Sie bei vordefinierten Eigenschaften mit nur zwei Auswahlmöglichkeiten, z. B. "true/false", auf den Eigenschaftennamen, um zwischen den Auswahlmöglichkeiten zu wechseln.Ist HasDefaultValue dies
falseder Wert, der angibt, dass der Wert geändert wurde, wird der Wert fett formatiert angezeigt. CanResetPropertyValue wird verwendet, um zu ermitteln, ob der Wert auf den ursprünglichen Wert zurückgesetzt werden kann. Wenn ja, können Sie zum Standard zurückkehren, indem Sie mit der rechten Maustaste auf den Wert klicken und im angezeigten Menü " Zurücksetzen " auswählen. Andernfalls müssen Sie den Wert manuell wieder in den Standard ändern. IVsPerPropertyBrowsing Sie können auch die Namen der Eigenschaften lokalisieren und ausblenden, die während der Entwurfszeit angezeigt werden, wirken sich jedoch nicht auf die Eigenschaftennamen aus, die während der Laufzeit angezeigt werden.Wenn Sie auf die Auslassungspunkte (...) klicken, wird eine Liste der Eigenschaftswerte angezeigt, aus denen der Benutzer auswählen kann (z. B. eine Farbauswahl oder Schriftartliste). IProvidePropertyBuilder stellt diese Werte bereit.