Dialogi niemodalne, kontrolki owner-draw
Wersja B
3 niemodalne okna dialogowe
- Wzór programu
- Główne okno:
- menu:
- 'Koniec'
- 'Dialogi'
- Czerwony, Zielony, Niebieski
- klawisze skrótu Alt+C, Alt+Z, Alt+N (widoczne w tekście pozycji menu)
- pozycja menu jest zaznaczona wtedy i tylko wtedy, gdy widoczne jest odpowiednie okno dialogowe
- ponowny wybór zaznaczonej pozycji powinien odznaczyć ją i schować odpowiednie okno dialogowe
- Dialog:
- niemodalny
- z możliwością zmiany rozmiaru (zadbać o poprawną zmianę położenia i/lub rozmiaru kontrolek - jak w programie przykładowym)
- przycisk 'Zamknij' - zamyka okno dialogowe
- tytuł dialogu i kolor tła zgodne z wyborem pozycji menu
- rysunek przedstawiający pozycję okien dialogowych aplikacji
- każde okno rysowane jako prostokątna ramka o odpowiednim kolorze
- pozycja i rozmiar ramki odpowiada pozycji i rozmiarowi okna w stosunku do całego ekranu
- Uwagi:
- można założyć, że użytkownik pracuje na jednym monitorze
- UWAGA: wykorzystanie komunikatu WM_DRAWITEM do rysowania podglądu pozycji i rozmiaru okien dialogowych jest obowiązkowe
- Wskazówki:
- przykład tekstu pozycji z menu:
"&Niebieski\tAlt+N"
- GetSystemMetrics(), SM_CXSCREEN, SM_CYSCREEN
- GetMenu(), GetSubMenu(), CheckMenuItem()
- CreateDialog(), CreateDialogParam()
- WM_SIZE, GetDlgItem(), MoveWindow()
- WM_CTLCOLORDLG
- RedrawWindow()
- Przybliżona punktacja:
- menu (także zaznaczanie i odznaczanie), akceleratory: 2.0
- niemodalne okna dialogowe (jedno dla jednej pozycji menu): 1.0
- zmiana rozmiaru okna dialogowego: 1.0
- przycisk 'Zamknij': 0.5
- tytuł okna dialogowego: 0.5
- tło okna dialogowego: 1.0
- rysunek przedstawiający pozycję i rozmiar okien dialogowych: 4.0