Dialogi niemodalne
Wersja A
Niemodalny dialog z właściwościami figury.
- Zawartość obszaru roboczego okna:
- koło bez wycinka (wykorzystać funkcję Pie())
- początkowy i końcowy kąt wycinka ustawiany na dialogu
- pędzel wypełnienia ustawiany na dialogu
- pióro konturu ustawiane na dialogu
- menu z opcją pokazywania/chowania dialogu niemodalnego (opcja
zaznaczona, jeśli dialog jest widoczny)
- zawsze co najwyżej jeden dialog może być widoczny
- dodać akcelerator do tej opcji z kombinacją klawiszy Ctrl+D
- Niemodalny dialog z ustawieniami prezentowanej w oknie figury
- 2 pola edycyjne z wartością początkowego i końcowego kąta wycinka
(w przypadku nieprawidłowych danych można zawsze przyjmować wartość
0)
- lista (listbox) z nazwami 3 różnych, standardowych pędzli
- wybrany na liście pędzel ma zostać użyty do wypełnienia rysowanej
figury
- pole wyboru (checkbox) - jeśli zaznaczone - przerywana
linia powinna zostać użyta do rysowania konturu figury, w przeciwnym
przypadku ciągła
- kontrolka static z podglądem aktualnych ustawień - UWAGA:
oprogramować porządnie kontrolkę owner drawn (dokładne informacje
techniczne poniżej)
- wszystkie zmiany dokonywane na dialogu powinny być natychmiast
uwidaczniane na podglądzie
- przycisk 'Zastosuj' - odrysować w oknie figurę stosownie do ustawień
na dialogu (przed zastosowaniem figura powinna być odrysowywana
według poprzednich ustawień)
- przycisk 'Przywróć' - wszystkie ustawienia na dialogu powinny
zostać przywrócone do tych, według których figura została ostatnio
narysowana
- przycisk 'Zamknij' - zamknięcie okna dialogu
- Tworzenie kontrolki static z wykorzystaniem mechanizmu owner
drawn:
- na dialogu w zasobach dodać kontrolkę static (Static
Text)
- zmienić identyfikator dodanej kontrolki (domyślnie jest proponowany
IDC_STATIC, który ma wartość numeryczną -1, przez co niemożliwe
byłoby odwoływanie się do kontrolki z dialogu) - np. IDC_PREVIEW
- zapisać dokonane zmiany (najlepiej File/Save All)
- otworzyć plik zasobów programu (.rc) do edycji w postaci tekstowej
(File/Open, wybrać plik .rc i koniecznie wybrać Open As:
Text - ostatnia opcja na dialogu wyboru plików)
- odnaleźć definicję modyfikowanego dialogu (z kontrolką IDC_PREVIEW),
np:

- do definicji kontrolki IDC_PREVIEW dodać styl SS_OWNERDRAW:
- zamknąć edytowany plik z zapisem zmian
- w funkcji dialogu dodać obsługę komunikatu WM_DRAWITEM z kodem
rysującym kontrolkę, np: