Sdílet prostřednictvím


Vytváření stránek vlastností pro komponentu

Objekt notify vytvoří vlastní stránky vlastností poté, co subsystém konfigurace sítě zavolá metodu INetCfgComponentPropertyUi::MergePropPages. Vlastní stránky vlastností lze sloučit do výchozí sady stránek na seznamu vlastností komponenty pomocí metody MergePropPages. MergePropPages vrátí odpovídající počet výchozích stránek, do kterých lze vlastní stránky sloučit.

Chcete-li vytvořit vlastní stránky vlastností, MergePropPages volá COM CoTaskMemAlloc funkci k přidělení paměti pro popisovače PROPSHEETPAGE struktury. Každá z těchto držadel představuje stránku vlastností k vytvoření. Pokud CoTaskMemAlloc úspěšně přidělí paměť pro popisovače, MergePropPages deklaruje a vyplní PROPSHEETPAGE struktury pro každou stránku vlastností. Po vyplnění těchto struktur funkcí MergePropPages volá funkci Win32 CreatePropertySheetPage pro každou stránku vlastností. V tomto volání MergePropPages předá adresu struktury PROPSHEETPAGE, kterou je třeba vytvořit.

Funkce zpětného volání dialogového okna by měla být také implementována pro každou stránku vlastností, která MergePropPages vytvoří. Funkce zpětného volání dialogového okna zpracovává zprávy, které operační systém odesílá na stránku vlastností přidruženou k této funkci dialogového okna. Chcete-li přidružit stránku vlastností k funkci dialogového okna, MergePropPages by měl nastavit člena pfnDlgProc každé struktury PROPSHEETPAGE tak, aby ukazoval na funkci dialogového okna pro danou stránku.

Funkce dialogového okna zpracovává následující zprávy:

  • Zpráva WM_INITDIALOG, která se odešle do funkce dialogového okna bezprostředně před tím, než operační systém zobrazí přidruženou stránku vlastností. Funkce dialogového okna obvykle používají tuto zprávu k inicializaci stránky vlastností a k provádění úloh, které ovlivňují vzhled stránky vlastností.

  • Zpráva WM_NOTIFY, která se odešle do funkce dialogového okna po události na stránce vlastností. Další informace odeslané touto zprávou identifikují, k jaké události došlo. Tyto informace o události jsou obsaženy v ukazateli na strukturu NMHDR. Informace, které může NMHDR obsahovat pro seznam vlastností, například:

    • Událost PSN_APPLY, která označuje, že uživatel klikne na tlačítko OK, Zavřít nebo Použít na stránce vlastností. Pokud uživatel klikne na tlačítko OK, zavřít nebo použít, může funkce dialogového pole volat makro PropSheet_Changed, které informuje panel vlastností, že informace na stránce byly změněny. V tomto volání funkce dialogového okna předá popisovače vlastnostnímu listu a stránce. Funkce dialogového okna může volat Win32 GetParent funkci a předat popisovač stránce k načtení popisovače do seznamu vlastností.

      Jakmile funkce dialogového okna upozorní list vlastností na změnu, síťový konfigurační subsystém volá metodu INetCfgComponentPropertyUi::ValidateProperties, aby zkontroloval platnost všech změn. Pokud jsou všechny změny platné, subsystém volá metodu objektu notify INetCfgComponentPropertyUi::ApplyProperties, aby se všechny změny uplatnily. Subsystém konfigurace sítě volá ApplyProperties předtím, než operační systém dialogové okno zavře.

      Metodu ApplyProperties lze implementovat k načtení informací, které uživatel zadá, a nastavení informací pro datové členy oznámení objektu.

    • Událost PSN_RESET, která indikuje, že operační systém chystá zničit stránku vlastností. Uživatel může kliknout na tlačítko Storno na stránce vlastností a zahájit tuto akci. Pokud uživatel klikne na tlačítko Zrušit, subsystém konfigurace sítě volá metodu INetCfgComponentPropertyUi::CancelProperties, aby všechny změny byly ignorovány. Subsystém konfigurace sítě volá CancelProperties před zavřeným dialogovým oknem.

    • Událost PSN_KILLACTIVE, která naznačuje, že stránka vlastností bude brzy neaktivní. K této události dochází, když uživatel aktivuje jinou stránku nebo klikne na TLAČÍTKO OK.

funkce zpětného volání pro stránku vlastností mohou být také implementovány pro každou stránku vlastností, které vytvoří MergePropPages. Funkce zpětného volání stránky vlastností provádí operace inicializace a čištění stránky. Chcete-li přidružit stránku vlastností k funkci zpětného volání stránky vlastností, MergePropPages by měl odkazovat pfnCallback člen každé struktury PROPSHEETPAGE pro každou stránku na funkci zpětného volání stránky vlastností pro danou stránku.

Další informace najdete v dokumentaci k sadě Microsoft Windows SDK:

  • vytváření stránek vlastností, struktur, funkcí a notifikací pro stránky vlastností

  • postupy zpětného volání, zprávy a struktury dialogového okna