Numer Temat i wymagania Słowa kluczowe
1 Szkielet aplikacji MDI
  • aplikacja MDI (multidocument interface)
  • poprawne klasy poszczególnych typów okien
  • poprawne funkcje obsługi komunikatów poszczególnych typów okien
  • tworzenie nowych okien roboczych po wybraniu pozycji menu
  • obsługa standardowych sposobów ułożenia okien roboczych
  • aplikacja MDI
  • MDI frame window, MDI client window, MDI child window
  • rejestracja klas okna
  • tworzenie okien
  • funkcje obsługi komunikatów okien
2 Rysowanie figur geometrycznych, wypisywanie tekstu, obsługa klawiatury
  • odmalowywanie tła okna określonym kolorem
  • rysowanie prostych figur geometrycznych o losowych kolorach i wypełnieniach
  • rysowanie nowej figury w ustalonych odstępach czasowych
  • zmiana odstępu czasowego przy pomocy klawiatury
  • wypisanie tekstu w ustalonym prostokącie przy możliwie najlepszym wypełnieniu tego prostokąta
  • wykorzystanie standardowego dialogu Windows do wyboru fontu
  • kontekst urządzenia (device context)
  • GDI
  • fonty
  • timer
3 Użycie myszy do operacji graficznym, obsługa menu
  • wybór z menu rodzaju rysowanej figury: prostokąt, prostokąt z zaokrąglonymi rogami, elipsa
  • zaznaczenie w menu aktualnie wybranego rodzaju rysowanych figur
  • rozpoczęcie rysowania przy naciśnięciu lewego przycisku myszy, zakończenie przy puszczeniu przycisku
  • poprawne reagowanie na puszczenie przycisku myszy poza aktywnym oknem roboczym
  • podczas rysowania figury przesłaniana zawartość okna powinna być w jakiś sposób widoczna
  • zapamiętanie wszystkich rysowanych figur z ich atrybutami, aby zawartość okna mogła zostać odmalowana w przypadku potrzeby jego odświeżenia
  • umożliwienie zmiany rozmiaru prostokąta tekstu poprzez przeciąganie myszą jego boków
  • automatyczna zmiana kursora, na jeden ze standardowych kursorów Windows wykorzystywanych przy zmianach rozmiarów, po przesunięciu kursora na jeden z boków prostokąta
  • menu okna
  • komunikaty obsługi myszy
  • kursory
4 Drag & drop
  • zaprojektowanie bitmapy, która będzie przenoszona - wymóg: kształt różny od prostokąta i prześwity (np. obwarzanek)
  • zapisanie bitmapy w zasobach programu i wczytywanie jej podczas uruchamiania
  • rozpoczęcie przesuwania bitmapy na obszarze aktywnego okna roboczego po naciśnięciu lewego przycisku myszy na nieprześwitującym fragmencie bitmapy
  • zakończenie przenoszenia po puszczeniu lewego przycisku myszy
  • wyeliminowanie efektu mrugania podczas przenoszenia
  • zwalnianie całej przydzielanej pamięci
  • zasoby programu
  • bitmapa i jej maska
  • pomocniczy kontekst do rysowania
  • raster operation
5 Obsługa transformacji (trybów mapowania), skrolowanie zawartości okna
  • ustawianie różnych transformacji w kolejnych tworzonych oknach roboczych
  • wyświetlenie nazwy użytej trasformacji w pasku tytułowym okna
  • pionowe i poziome skrolowanie zawartości okna
  • minimalizacja czasu potrzebnego na odmalowanie przeskrolowanego okna
  • minimalizacja efektu mrugania
  • transformacje (tryby mapowania)
  • scrollbar
6 Dialogi
  • modalny dialog wyboru koloru dla tła okien roboczych i poszczególnych rodzajów rysowanych figur
  • pokazanie na tym dialogu aktualnie wybranych kolorów z możliwością ich zmiany
  • wykorzystanie standardowego dialogu Windows do wyboru koloru
  • niemodalny dialog pokazujący aktualną datę i czas systemowy w formacie wykorzystywanym w systemie
  • modalny dialog umożliwiający wybór fontu i koloru tekstu z podglądem aktualnie wybranych ustawień
  • dialogi modalne (modal) i niemodalne (modeless)
  • standardowe dialogi Windows
  • kontrolki (controls)
  • owner drawn controls
7 Zapis ustawień programu, standardowe kontrolki Windows
  • automatyczny odczyt na początku i zapis na końcu pracy programu wszystkich jego ustawień
  • wykorzystanie plików INI i rejestrów
  • oddzielny program demonstrujący możliwości jednej ze standardowych kontrolek Windows
  • pliki INI
  • rejestry
  • standardowe kontrolki Windows
8 Aplikacje w MFC, toolbar
  • aplikacja MDI napisana przy użyciu MFC
  • obsługa toolbar'a automatycznie tworzonego przy tworzeniu aplikacji
  • orientacja w podstawowych klasach MFC dla aplikacji, dokumentów i widoków
  • MFC
  • architektura dokument/widok (document/view architecture)
  • obsługa komunikatów w MFC
  • control bars
9 Grafika w MFC
  • przeniesienie wszystkich możliwości graficznych aplikacji API do aplikacji MFC
  • użycie dokumentów do trzymania wszystkich danych pokazywanych w oknach roboczych
  • obsługa kontekstów urządzeń w MFC
  • klasy MFC dla obiektów GDI
  • rysowanie w widoku danych dokumentu
10 Dialogi w MFC
  • przeniesienie wszystkich dialogów wykorzystywanych w aplikacji API do aplikacji MFC
  • wykorzystanie mechanizmu MFC do wymiany danych pomiędzy dialogiem i jego kontrolkami
  • obsługa modalnych i niemodalnych dialogów w MFC
  • obsługa kontrolek dialogowych w MFC
11 Zapis i odczyt dokumentów MFC, zapis i odczyt ustawień programu
  • zapis i odczyt dokumentów aplikacji MFC w formacie binarnym przy użyciu serializacji
  • zapis i odczyt dokumentów aplikacji MFC w formacie tekstowym
  • wykorzystanie standardowego dialogu Windows do zapisu i odczytu plików
  • zapis i odczyt wszystkich ustawień programu do rejestrów z użyciem mechanizmów MFC
  • architektura dokument/widok
  • serializacja
  • obsługa rejestrów w MFC
12 Widoki dokumentów MFC
  • umożliwienie otwierania wielu widoków jednego dokumentu
  • wykorzystanie form view do przedstawienia i modyfikacji danych dokumentu
  • wyświetlanie dwóch widoków dokumentu w jednym oknie podzielonym splitterem
  • form view
  • splitter
13 Wielowątkowość
  • utworzenie nowego wątku aplikacji MFC prowadzącego obliczenia w tle (np. szukanie kolejnych liczb pierwszych)
  • wyświetlanie wyników pracy nowego wątku w specjalnym oknie
  • wątki robocze i wątki interfejsu
  • synchronizacja