Korzystanie z pojedynczego szablonuCzasem możesz użyć tego samego szablonu strony dla kilku zakładek okna...

Jak cię złapią, to znaczy, że oszukiwałeś. Jak nie, to znaczy, że posłużyłeś się odpowiednią taktyką.
Dozwolone jest użycie kilku egzemplarzy obiektu strony w arkuszu właściwości, ale ponieważ tytuł dialogu staje się nazwą zakładki, w rezultacie otrzymasz arkusz właściwości z zakładkami o tych samych nazwach.
Odpowiedź jest prosta. W konstruktorze klasy CPropertyPage musisz dostarczyć identyfikator łańcucha w zasobach. Ten identyfikator określa ciąg, który zawiera nazwę zakładki. Jeśli zdecydujesz się na przekazanie identyfikatora do konstruktora wyprowa­dzonej przez siebie klasy, okaże się, że MFC żąda użycia domyślnego konstruktora. Aby to ominąć, możesz albo przeciążyć konstruktor, albo argumentowi zawierającemu identyfikator przypisać domyślną wartość, tak by mógł służyć także jako domyślny konstruktor. Szczegóły znajdziesz w listingach 6.1 i 6.2.
 
Niemodalne arkusze właściwości
Poprzez wywołanie metody Create zamiast DoModal można tworzyć niemodalne arkusze właściwości. Oczywiście będziesz musiał samodzielnie użyć metody UpdateData i pamiętać o zasięgu zmiennych (podobnie jak w niemodalnych oknach dialogowych).
Jednym z możliwych sposobów radzenia sobie z problemem zasięgu jest wyprowadzenie nowej klasy z klasy CPropertySheet. Nowa klasa powinna zawierać zmienne składowe, odpowiadające obiektom każdej z klas zakładek zawartych w arkuszu właściwości. Możesz następnie stworzyć obiekt nowej klasy na stercie (przy pomocy new), a program sam zajmie się resztą (przejrzyj listingi od 6.5 do 6.8).
 
Tworzenie własnych kreatorów AppWizard
Do Visual C++ możesz dodawać własne kreatory AppWizard. Dzięki temu możesz łatwo powielać projekty lub udostępniać innym programistom szkieletowe aplikacje zgodne z Twoimi specyfikacjami.
Najprostszym sposobem osiągnięcia tego celu jest rozpoczęcie od gotowej aplikacji, którą chcesz powielić. Następnie rozpocznij nowy projekt, jako jego typ wybierając Gustom AppWizard. W tym momencie będziesz mógł wskazać istniejący projekt, po czym kreator przygotuje dla Ciebie nowy kreator. To naprawdę jest takie proste.
Możesz także zacząć od standardowych kroków kreatora, a nawet stworzyć go od początku, jednak wymaga to dużo więcej wysiłku (szczegóły znajdziesz w tekście rozdziału oraz na listingach 6.9 i 6.10).
 
Rozdział 7 Biblioteki DLL i MFC
Biblioteki DLL stanowią fundamentalny element systemu operacyjnego Windows. Ko­rzystając z MFC możesz używać kodu zawartego w bibliotekach DLL, a także tworzyć własne DLL-e. Możesz także rozszerzyć MFC o własne biblioteki, a także stworzyć zindywidualizowane narzędzia programistyczne.
Dorastałem w Bay St. Louis w stanie Mississippi; w tym czasie było to bardzo małe miasteczko. Teraz znajduje się tam kilka dużych kasyn, ale gdy tam mieszkałem, miej­scowość była naprawdę niewielka. Pamiętam jak dużym wydarzeniem było powstanie Burger Kinga przy autostradzie. Do tego momentu najbliższy fastfood był odległy o 30 mil. Bay St. Louis urzekało (i urzeka) swoimi plażami i zabytkami, ale z pewnością nie była to metropolia.
Miasteczko tego typu doskonale nadaje się na spędzenie słodkiego dzieciństwa na pro­wincji, ale dla chłopaka, który, tak jak ja, interesował się krótkofalarstwem i dużymi systemami komputerowymi (tylko takie wtedy istniały), Bay St. Louis przypominało więzienie.
Nie chodzi o to, że w pobliżu nie było żadnego przemysłu. Niedaleko zatoki NASA te­stowała swoje silniki rakietowe (tam, gdzie obecnie znajduje się Stennis Space Center). Tak więc w okolicy żyło parę osób, które znały się na nauce i technice. Po prostu nie było żadnego punktu oparcia dla osób takich jak my. Nie było wielu księgarń, a zwłaszcza brakowało Księgarni technicznej. Przez długi czas nie było nawet żadnego sklepu z częścia­mi elektronicznymi. Jeśli coś było potrzebne, trzeba było jechać 30 mil do Biloxi (obok bazy sił powietrznych) lub wędrować 60 mil do Nowego Orleanu (gdzie już można było dostać wszystko - i to naprawdę wszystko - co się chciało).
Jedną z rzeczy, jakie znajdowały się miasteczku, była przyjemna biblioteka. Jej budynek był zawsze odnowiony, a w środku znajdowało się mnóstwo książek. Lecz nie były to książki, które mnie interesowały. Wszystkie książki dotyczące elektroniki miały po dwadzieścia lub więcej lat, a o komputerach nie było nawet wzmianki. Uczyłem się więc z tych książek, które były, w związku z czym moja wiedza o elektronice była nie­co przestarzała. Dorastałem, czytając o tubach głosowych, podczas gdy świat zaczynał powszechnie używać tranzystorów. Rozmawiałem o kondenserach i reostatach, podczas gdy na całym świecie używano już kondensatorów i potencjometrów. Do dzisiaj, od czasu do czasu, zdarza mi się powiedzieć “cykli na sekundę" zamiast herców.
Czy więc taka biblioteka przyniosła mi więcej szkody niż pożytku? Nie wiem. Gdy przeprowadziłem się do Starkville, aby rozpocząć zajęcia na uniwersytecie stanowym Mississippi, czułem się jak Rip Van Winkle. Uniwersytet posiadał potężną, nowoczesną bibliotekę i więcej książek o elektronice, niż kiedykolwiek widziałem. Wieki całe spędzałem w bibliotece, czytając wszystko, co wpadło mi w ręce. Na studiach dowiedziałem się mnóstwa rzeczy, ale większość tej wiedzy pochodzi właśnie z uniwersyteckiej biblioteki.
Różnego rodzaju biblioteki są ważne także w programowaniu. Gdy odrzucisz standardową bibliotekę C, będziesz miał mnóstwo roboty. Czy naprawdę chcesz się podjąć bezpo­średniej obsługi systemu plików? Czy chcesz ręcznie formatować strumień wyjściowy? Osobiście nie chciałbym tego robić, więc korzystam ze standardowej biblioteki C. Także Windows API jest przede wszystkim biblioteką.
Wątki
Powered by wordpress | Theme: simpletex | © Jak cię złapią, to znaczy, że oszukiwałeś. Jak nie, to znaczy, że posłużyłeś się odpowiednią taktyką.