Použití seznamů vlastností v aplikaci
Pokud chcete v aplikaci použít seznam vlastností, proveďte následující kroky:
Vytvořte prostředek šablony dialogového okna pro každou stránku vlastností. Mějte na paměti, že uživatel může přepnout z jedné stránky na jinou, takže každou stránku rozložte co nej konzistentněji.
Šablony dialogů pro všechny stránky nemusí mít stejnou velikost. Architektura používá velikost největší stránky k určení, kolik místa se má přidělit v seznamu vlastností pro stránky vlastností.
Při vytváření prostředku šablony dialogového okna pro stránku vlastností musíte v seznamu vlastností dialogového okna zadat následující styly:
Nastavte textové pole Titulek na stránce Obecné na text, který chcete zobrazit na kartě této stránky.
Nastavte seznam Styl na stránce Styly na podřízenou hodnotu.
Nastavte seznam Ohraničení na stránce Styly na tenký.
Ujistěte se, že je na stránce Styly zaškrtnuté políčko Záhlaví.
Ujistěte se, že je zaškrtnuté políčko Zakázáno na stránce Další styly .
Vytvořte CPropertyPage odvozenou třídu odpovídající každé stránce vlastností dialogové okno šablony. Viz Přidání třídy. Zvolte
CPropertyPage
jako základní třídu.Vytvořte členské proměnné, které budou obsahovat hodnoty pro tuto stránku vlastností. Proces přidání členských proměnných na stránku vlastností je úplně stejný jako přidání členských proměnných do dialogového okna, protože stránka vlastností je specializované dialogové okno. Další informace naleznete v tématu Definování členských proměnných pro ovládací prvky dialogového okna.
Vytvořte objekt CPropertySheet ve zdrojovém kódu. Obvykle vytvoříte
CPropertySheet
objekt v obslužné rutině pro příkaz, který zobrazí seznam vlastností. Tento objekt představuje celý seznam vlastností. Pokud vytvoříte modální seznam vlastností s funkcí DoModal , architektura ve výchozím nastavení poskytuje tři příkazová tlačítka: OK, Cancel a Apply. Architektura nevytvoří žádná příkazová tlačítka pro bezmodální seznamy vlastností vytvořené pomocí funkce Create . Třídu nemusíte odvozovatCPropertySheet
, pokud nechcete přidat další ovládací prvky (například okno náhledu) nebo zobrazit seznam vlastností bez režimu. Tento krok je nezbytný pro seznamy vlastností bez režimu, protože neobsahují žádné výchozí ovládací prvky, které lze použít k zavření seznamu vlastností.Pro každou stránku, která se má přidat do seznamu vlastností, postupujte takto:
Vytvořte jeden objekt pro každou
CPropertyPage
-odvozenou třídu, kterou jste vytvořili dříve v tomto procesu.Volání CPropertySheet::AddPage pro každou stránku.
Obvykle objekt, který vytvoří
CPropertySheet
takéCPropertyPage
objekty v tomto kroku. Pokud však implementujete -odvozenouCPropertySheet
třídu, můžete vložitCPropertyPage
objekty do objektuCPropertySheet
a volatAddPage
pro každou stránku z konstruktoruCPropertySheet
-odvozené třídy.AddPage
CPropertyPage
přidá objekt do seznamu stránek seznamu vlastností, ale ve skutečnosti nevytvoří okno pro danou stránku. Proto není nutné čekat na vytvoření okna seznamu vlastností, které se má volatAddPage
; můžete volatAddPage
z konstruktoru seznamu vlastností.Pokud má seznam vlastností ve výchozím nastavení více oušek, než se vejde do jednoho řádku seznamu vlastností, budou se ouška naskládat do více řádků. Chcete-li zakázat stacking, zavolejte CPropertySheet::EnableStackedTabs s parametrem nastaveným na FALSE. Při vytváření seznamu vlastností je nutné volat
EnableStackedTabs
.Volání CPropertySheet::D oModal nebo Vytvořit pro zobrazení seznamu vlastností. Volání
DoModal
pro vytvoření seznamu vlastností jako modálního dialogového okna Volání vytvořit seznam vlastností jako bezmodální dialogové okno.Výměna dat mezi stránkami vlastností a vlastníkem seznamu vlastností To je vysvětleno v článku Výměna dat.
Příklad použití seznamů vlastností najdete v ukázkové ukázce PROPDLG knihovny MFC Obecné.