Tworzenie arkusza właściwości niemodalny
Arkusze właściwości, które można utworzyć będzie zwykle modalne.Korzystając z arkusza właściwości modalny, użytkownik musi zamknąć arkusz właściwości przed użyciem część aplikacji.W tym artykule opisano metody, których można użyć, aby utworzyć arkusz niemodalny właściwości zachować otwarty arkusz właściwości podczas korzystania z innych części aplikacji przez użytkownika.
Aby wyświetlić arkusz właściwości, jak niemodalne okno dialogowe zamiast jako modalnego okna dialogowego, call CPropertySheet::Create zamiast DoModal.Musi też implementować niektóre dodatkowe zadania do obsługi arkusza właściwości niemodalny.
Jest jednym z zadań dodatkowych wymianę danych między arkusz właściwości i zewnętrzny obiekt, który jest modyfikowany, po otwarciu arkusza właściwości.Zazwyczaj jest tego samego zadania, jak dla standardowych niemodalny okien dialogowych.Częścią tego zadania jest zaimplementowanie kanał komunikacji między arkusz właściwości niemodalny i zewnętrznego obiektu, którego dotyczą ustawienia właściwości.Ta implementacja jest znacznie łatwiejsze, jeśli pochodzi od klasy CPropertySheet na arkuszu właściwości niemodalny.W tym artykule zakłada się, że zostało to zrobione.
Jedną metodę komunikowania się z arkusza właściwości niemodalny i zewnętrznego obiektu (bieżący wybór widoku, na przykład) jest określenie wskaźnika z arkusza właściwości do obiektu zewnętrznego.Zdefiniować funkcję (nazywane coś SetMyExternalObject) w CPropertySheet-klasy, aby zmienić wskaźnik zmianie fokusu z jednego zewnętrznego obiektu do innego.SetMyExternalObject Funkcja musi zresetować ustawienia dla każdej strony właściwości, aby odzwierciedlać nowo zaznaczony obiekt zewnętrzny.W tym, SetMyExternalObject funkcja musi mieć dostęp do CPropertyPage obiekty należące do CPropertySheet klasy.
Najwygodniejszym sposobem zapewnienia dostępu do stron właściwości w arkuszu właociwooci jest osadzenie CPropertyPage obiektów w CPropertySheet-uzyskane obiektu.Osadzanie CPropertyPage obiektów w CPropertySheet-pochodnych obiekt różni się od typowy projekt modalnych okien dialogowych, gdy właściciel arkusz właściwości tworzy CPropertyPage obiektów i przekazuje je do arkusza właściwości via CPropertySheet::AddPage.
Istnieje wiele alternatyw interfejs użytkownika do określenia, kiedy ustawienia arkusza właściwości niemodalny powinny być stosowane do obiektu zewnętrznego.Jeden alternatywą jest zastosowanie ustawień bieżącej strony właściwości, w każdym przypadku, gdy użytkownik zmieni wartości.Inną alternatywą jest dostarczenie przycisk Zastosuj, która umożliwia użytkownikowi gromadzą się zmian na stronach właściwości przed umieszczeniem ich w obiekcie zewnętrznym.Aby uzyskać informacje na temat sposobów obsługi przycisku Zastosuj, zobacz artykuł zastosowanie przycisku obsługi.