Sdílet prostřednictvím


Mřížka zobrazení vlastností

V okně Vlastnosti se zobrazí pole v mřížce. Levý sloupec obsahuje názvy vlastností; pravý sloupec obsahuje hodnoty vlastností.

Práce s mřížkou

Seznam se dvěma sloupci zobrazuje vlastnosti nezávislé na konfiguraci, které je možné změnit v době návrhu a jejich aktuální nastavení. Všimněte si, že se nemusí zobrazit všechny vlastnosti. Vlastnost může být nastavena jako skrytá, například implementací HideProperty metody. Konkrétně chcete-li skrýt vlastnosti, které mají podřízené vlastnosti:

  1. pfDisplay Nastavte parametr DisplayChildProperties na FALSEhodnotu .

  2. pfHide Nastavte parametr HideProperty na TRUEhodnotu .

K nasdílení informací do okna Vlastnosti používá ISelectionContainerintegrované vývojové prostředí (IDE). ISelectionContainer je volána balíčky VSPackage pro každé okno, které obsahuje vybratelné objekty se souvisejícími vlastnostmi, které se mají zobrazit v okně Vlastnosti . Průzkumník řešení implementace ISelectionContainer volání GetProperty pomocí __VSHPROPID. VSHPROPID_BrowseObject v hierarchii projektu, abyste získali procházitelné objekty v hierarchii.

Pokud balíček VSPackage nepodporuje __VSHPROPID. VSHPROPID_BrowseObject se integrované vývojové prostředí pokusí použít GetProperty hodnotu pro __VSHPROPID. VSHPROPID_SelContainer, že položka hierarchie nebo položky poskytují.

Váš projekt VSPackage nemusí vytvářetISelectionContainer, protože balíček okna zadaný integrovaným integrovaným vývojovém prostředím ,který ho implementuje (například Průzkumník řešení) konstruktorů ISelectionContainer za něj.

ISelectionContainer se skládá ze tří metod, které volá integrované vývojové prostředí (IDE):

  • CountObjects obsahuje počet objektů vybraných k zobrazení v okně Vlastnosti .

  • GetObjectsIDispatch vrátí objekty vybrané k zobrazení v okně Vlastnosti.

  • SelectObjects umožňuje vybrat libovolný z objektů vrácených uživatelem GetObjects . Díky tomu může balíček VSPackage vizuálně aktualizovat výběr zobrazený uživateli v uživatelském rozhraní.

Okno Vlastnosti extrahuje informace z IDispatch objektů a načte procházené vlastnosti. Prohlížeč Vlastnosti používá IDispatch k dotazování objektu, jaké vlastnosti podporuje dotazováním ITypeInfo, který je získán z IDispatch::GetTypeInfo. Prohlížeč pak pomocí těchto hodnot naplní okno Vlastnosti a změní hodnoty pro jednotlivé vlastnosti zobrazené v mřížce. Informace o vlastnostech se udržují v samotném objektu.

Vzhledem k tomu, že vrácené objekty podporují IDispatch, volající může získat informace, jako je název objektu voláním IDispatch::Invoke buď nebo ITypeInfo::Invoke pomocí předdefinovaného identifikátoru dispid (DISPID), který představuje požadované informace. Deklarované identifikátory DISPID jsou záporné, aby se zajistilo, že nejsou v konfliktu s identifikátory definovanými uživatelem.

Okno Vlastnosti zobrazuje různé typy polí v závislosti na atributech konkrétních vlastností vybraného objektu. Tato pole zahrnují pole pro úpravy, rozevírací seznamy a odkazy na vlastní dialogová okna editoru.

  • Hodnoty obsažené v výčtovém seznamu jsou načteny dotazem GetObjects na IDispatch. Hodnoty získané z výčtového seznamu lze v mřížce vlastností změnit poklikáním na název pole nebo kliknutím na hodnotu a výběrem nové hodnoty z rozevíracího seznamu. U vlastností, které mají předdefinovaná nastavení z výčtových seznamů, poklikejte na název vlastnosti v seznamu Vlastnosti cyklicky mezi dostupnými možnostmi. U předdefinovaných vlastností s pouze dvěma možnostmi, například true nebo false, poklikejte na název vlastnosti a přepněte mezi možnostmi.

  • Pokud HasDefaultValue je hodnota falseindikující, že hodnota byla změněna, zobrazí se v tučném textu. CanResetPropertyValue slouží k určení, zda lze hodnotu obnovit na původní hodnotu. Pokud ano, můžete výchozí nastavení změnit tak, že kliknete pravým tlačítkem myši na hodnotu a v zobrazené nabídce zvolíte Obnovit . V opačném případě musíte hodnotu změnit zpět na výchozí ručně. IVsPerPropertyBrowsing umožňuje také lokalizovat a skrýt názvy vlastností zobrazovaných během návrhu, ale nemá vliv na názvy vlastností zobrazované během běhu.

  • Kliknutím na tlačítko se třemi tečkou (...) se zobrazí seznam hodnot vlastností, ze kterých může uživatel vybrat (například výběr barvy nebo seznam písem). IProvidePropertyBuilder poskytuje tyto hodnoty.

Viz také