Sdílet prostřednictvím


Ošetření tlačítka Použít

Seznamy vlastností mají možnost, že standardní dialogová okna nemají: Umožňují uživateli použít změny, které provedl před zavřením seznamu vlastností. To se provádí pomocí tlačítka Použít. Tento článek popisuje metody, které můžete použít k správné implementaci této funkce.

Modální dialogová okna obvykle aplikují nastavení na externí objekt, když uživatel klikne na OK a zavře dialogové okno. Totéž platí pro seznam vlastností: Když uživatel klikne na OK, projeví se nové nastavení v seznamu vlastností.

Můžete ale chtít uživateli povolit ukládání nastavení, aniž byste museli zavřít dialogové okno seznamu vlastností. Toto je funkce tlačítka Použít. Tlačítko Použít použije aktuální nastavení na všech stránkách vlastností na externí objekt, na rozdíl od použití pouze aktuálního nastavení aktuálně aktivní stránky.

Ve výchozím nastavení je tlačítko Použít vždy zakázáno. Je nutné napsat kód, který povolí tlačítko Použít v odpovídajících časech a musíte napsat kód pro implementaci efektu Použít, jak je vysvětleno níže.

Pokud nechcete uživateli nabízet funkci Použít, není nutné tlačítko Použít odebrat. Můžete ji ponechat zakázanou, stejně jako u aplikací, které používají podporu standardního seznamu vlastností, které jsou k dispozici v budoucích verzích Windows.

Pokud chcete nahlásit stránku, jak se upravuje, a povolit tlačítko Použít, zavolejte CPropertyPage::SetModified( TRUE ). Pokud se nějaká sestava stránek upravuje, tlačítko Použít zůstane povolené bez ohledu na to, jestli byla aktuálně aktivní stránka změněna.

Měli byste zavolat CPropertyPage::SetModified vždy, když uživatel změní jakékoli nastavení na stránce. Jedním ze způsobů, jak zjistit, kdy uživatel změní nastavení na stránce, je implementovat obslužné rutiny oznámení o změnách pro každý ovládací prvky na stránce vlastností, například EN_CHANGE nebo BN_CLICKED.

Pokud chcete implementovat účinek tlačítka Použít, musí seznam vlastností sdělit vlastníkovi nebo jinému externímu objektu v aplikaci, aby se na stránkách vlastností použilo aktuální nastavení. Současně by měl seznam vlastností zakázat tlačítko Použít voláním CPropertyPage::SetModified( FALSE ) pro všechny stránky, které použily jejich úpravy na externí objekt.

Příklad tohoto procesu najdete v ukázce PROPDLG obecné knihovny MFC.

Viz také

Seznamy vlastností