Implementowanie stron właściwości
Kreator strony właściwości ATL nie jest dostępny w programie Visual Studio 2019 i nowszych wersjach.
Strony właściwości to obiekty COM, które implementują IPropertyPage
interfejs lub IPropertyPage2
. Usługa ATL zapewnia obsługę implementowania stron właściwości za pośrednictwem Kreatora strony właściwości ATL w oknie dialogowym Dodawanie klasy.
Aby utworzyć stronę właściwości przy użyciu atl:
Utwórz lub otwórz projekt serwera biblioteki dynamicznej (DLL) ATL.
Otwórz okno dialogowe Dodawanie klasy i wybierz pozycję Strona właściwości ATL.
Upewnij się, że strona właściwości jest wątkowa (ponieważ ma interfejs użytkownika).
Ustaw tytuł, opis (Ciąg dokumentu) i plik pomocy, który ma być skojarzony ze stroną.
Dodaj kontrolki do wygenerowanego zasobu okna dialogowego, aby działały jako interfejs użytkownika strony właściwości.
Reagowanie na zmiany w interfejsie użytkownika strony w celu przeprowadzenia walidacji, zaktualizowania witryny strony lub zaktualizowania obiektów skojarzonych ze stroną. W szczególności wywołaj metodę IPropertyPageImpl::SetDirty , gdy użytkownik wprowadza zmiany na stronie właściwości.
Opcjonalnie przesłoń
IPropertyPageImpl
metody, korzystając z poniższych wskazówek.IPropertyPageImpl, metoda Zastąpij, gdy chcesz... Uwagi SetObjects Przeprowadź podstawowe kontrole kondycji pod kątem liczby obiektów przekazywanych do strony i interfejsów, które obsługują. Wykonaj własny kod przed wywołaniem implementacji klasy bazowej. Jeśli ustawiane obiekty nie są zgodne z oczekiwaniami, wywołanie powinno zakończyć się niepowodzeniem tak szybko, jak to możliwe. Uaktywnij Zainicjuj interfejs użytkownika strony (na przykład ustaw kontrolki okna dialogowego z bieżącymi wartościami właściwości z obiektów, dynamiczne tworzenie kontrolek lub wykonywanie innych inicjalizacji). Wywołaj implementację klasy bazowej przed kodem, aby klasa bazowa mogła utworzyć okno dialogowe i wszystkie kontrolki przed próbą ich zaktualizowania. Zastosuj Zweryfikuj ustawienia właściwości i zaktualizuj obiekty. Nie ma potrzeby wywoływania implementacji klasy bazowej, ponieważ nie wykonuje żadnych czynności niezależnie od śledzenia wywołania. Dezaktywować Wyczyść elementy związane z oknem. Implementacja klasy bazowej niszczy okno dialogowe reprezentujące stronę właściwości. Jeśli musisz wyczyścić przed zniszczeniem okna dialogowego, przed wywołaniem klasy bazowej należy dodać kod.
Aby zapoznać się z przykładową implementacją strony właściwości, zobacz Przykład: implementowanie strony właściwości.
Uwaga
Jeśli chcesz hostować kontrolki ActiveX na stronie właściwości, musisz zmienić wyprowadzenie klasy wygenerowanej przez kreatora. Zastąp element CDialogImpl<CYourClass> klasą CAxDialogImpl<CYourClass> na liście klas bazowych.