GDI
Wersja B
Kopiowanie zawartości ekranu
- Wzór programu
- Zawartość okna:
- bitmapa task03b_back.bmp rysowana w tle poprzez wielokrotne powtarzanie w pionie i w poziomie
- pobrana zawartość ekranu rysowana od lewego górnego rogu
- UWAGA: nie jest konieczne wypisywanie informacyjnego tekstu
- Scenariusz pobierania zawartości ekranu:
- naciśnięcie prawego przycisku myszy - zmniejszyć okno do minimalnego rozmiaru bez zmiany jego położenia
- ustawienie pozycji myszy w miejscu, w którym ma zostać rozpoczęte zaznaczanie obszaru do pobrania
- naciśnięcie lewego przycisku myszy - rozpoczęcie zaznaczania obszaru
- poruszanie myszą z naciśniętymi dwoma przyciskami myszy - zaznaczanie obszaru
- puszczenie jednego z przycisków myszy - skopiowanie zaznaczonego obszaru, odtworzenie poprzedniego rozmiaru okna aplikacji
- Wymagania techniczne:
- skopiowana do okna zawartość ekranu powinna poprawnie odrysowywać się podczas każdego odświeżania okna
- całkowicie wyeliminować efekty mrugania podczas odrysowywania zawartości okna
- zaznaczanie zawartości ekranu zrealizować jak w programie wzorcowym: czerwona ramka grubości 3 pikseli, rysowana z użyciem metody XOR
- umożliwić zmianę rozmiaru okna aplikacji
- Akceptowalne niedociągnięcia:
- nie jest konieczna obsługa zmiany ustawień systemowych dotyczących wyświetlania (np. liczby kolorów)
- Wskazówki:
- GetWindowRect(), MoveWindow()
- SetCapture(), ReleaseCapture()
- CreateCompatibleDC(), DeleteDC(), CreateCompatibleBitmap(), DeleteObject()
- WM_ERASEBKGND
- SetROP2(), R2_XORPEN
- GetStockObject(), HOLLOW_BRUSH
- GetDC(NULL), ReleaseDC()
- ScreenToClient()
- LoadImage(), CreatePatternBrush()
- Przybliżona punktacja:
- tło okna: 1.5
- pobieranie zawartości ekranu:
- zmiana i odtworzenie rozmiaru okna: 0.5
- obsługa myszy: 2.0
- rysowanie zaznaczenia: 2.0
- skopiowanie fragmentu ekranu: 1.5
- rysowanie pobranej zawartości ekranu w oknie: 1.0
- odświeżanie zawartości okna, brak mrugania: 1.5