Zadanie nr 7
Krzysztof Mossakowski
Programowanie w środowisku Windows
2004 - Zadania
Aplikacja MDI
Wersja A
Wzór programu
Działanie programu:
Okno główne:
menu z dwiema stałymi opcjami
New child window (skrót Ctrl+N) - nowe okno MDI
Exit - kończy działanie programu
za pozycją
Exit
standardowe menu okien roboczych aplikacji MDI (numeracja, nazwy, zaznaczanie i wybór aktywnego)
okno klienta MDI
tło w kolorze COLOR_APPWORKSPACE, animowana piłka o średnicy 50 pikseli
dwuklik lewym przyciskiem myszy - ułożenie okien roboczych MDI sąsiadująco poziomo
wyjście okna roboczego poza obszar klienta,
nie
powoduje pokazywania pasków przewijania w oknie klienta
standardowa obsługa skrótów klawiszowych wykorzystywanych w aplikacji MDI (m.in. Ctrl+F6, Shift+Ctrl+F6)
okna robocze MDI
tło białe, animowana piłka o średnicy 50 pikseli
tytuł okna roboczego - "Child window X", gdzie X numer kolejno otwieranego okna roboczego
sposób animacji
piłka nie opuszcza obszaru klienta MDI, odbija się od krawędzi okna głównego
piłka odbija się od wewnętrznej krawędzi okna roboczego jeśli opuszczając je nie znajduje się w obszarze innego okna roboczego
piłka może znaleźć się poza obszarem okien roboczych w wyniku przesuwania, zmiany rozmiaru lub zamknięcia okna roboczego
jeśli okna robocze są nieruchome, piłka po znalezienu się w obszarze okien roboczych nie opuszcza tego obszaru
można przyjąć, że piłka znajduje się w obszarze jeśli znajduje się w nim jej środek
za obszar okna należy przyjąć całe okno, nie tylko obszar klienta
należy wyeliminować efekt mrugania
program nie musi poprawie obsługiwać minimalizacji okna głównego
Wskazówki:
SetClassLong, GetClassLong
TranslateMDISysAccel
EnumChildWindows
ClientToScreen, GetWindowRect, PtInRect
wykorzystywać tylko jeden timer - dla okna klienta MDI