Krzysztof Mossakowski
Programowanie w środowisku Windows
2006 - Zadania
GDI
Wersja A
GradientFill
Wzór programu
Zawartość okna:
4 punkty definiujące dwa trójkąty wypełnione przy pomocy funkcji GradientFill()
każdy punkt oznaczony kwadratem z czarną otoczką i wypełnieniem koloru punktu
obok każdego punktu trzy prostokąty umożliwiające zmianę wartości składowych koloru (czerwonej, zielonej, niebieskiej)
naciśnięcie lewego przycisku myszy na prostokącie zwiększa wartość składowej o 16
naciśnięcie prawego przycisku myszy zmniejsza wartość składowej o 16
wypełnienie prostokąta kolorem (czerwonym, zielonym, niebieskim) obrazuje wartość składowej
położenie punktów można zmieniać przeciągając myszą z naciśniętym lewym przyciskiem
Wymagania techniczne:
całkowicie wyeliminować efekty mrugania podczas modyfikacji sceny i odrysowywania zawartości okna
umożliwić zmianę rozmiaru okna aplikacji
aplikacja powinna prawidłowo reagować na puszczenie przycisku myszy poza oknem podczas przemieszczania punktu
Akceptowalne niedociągnięcia:
nie jest konieczna obsługa zmiany ustawień systemowych dotyczących wyświetlania (np. liczby kolorów)
Wskazówki:
GradientFill(), dodać bibliotekę Msimg32.lib do projektu (właściwości projektu / Configuration Properties / Linker / Input / Additional Dependencies)
SetCapture(), ReleaseCapture()
CreateCompatibleDC(), DeleteDC(), CreateCompatibleBitmap(), DeleteObject()
WM_ERASEBKGND
BitBlt()
Przybliżona punktacja:
4 punkty: 1.0
przenoszenie punktów: 2.5
zmiana kolorów punktów: 2.5
wypełnienie trójkątów przy pomocy GradientFill(): 2.5
odświeżanie zawartości okna, brak mrugania: 1.5