Krzysztof Mossakowski
Programowanie w środowisku Windows
2004 - Zadania
Aplikacja MDI
Wersja B
Wzór programu
Działanie programu:
Okno główne:
menu zmieniające się w zależności od typu aktywnego okna
3 menu (nie wolno menu budować dynamicznie)
2 typy okien
menu przy braku okien roboczych
New "rectangle" window (skrót Ctrl+R) - nowe okno robocze MDI typu "rectangle"
New "ellipse" window (skrót Ctrl+E) - nowe okno robocze MDI typu "ellipse"
Exit - kończy działanie programu
menu dla okna typu "rectangle"
dodatkowa opcja "Draw rectangle" (skrót Ctrl+D) - rysowanie prostokątu
menu dla okna typu "ellipse"
dodatkowa opcja "Draw ellipse" (skrót Ctrl+D) - rysowanie elipsy
dla aktywnych okien roboczych dodatkowe menu Window
Cascade (Ctrl+F8) - kaskadowe ułożenie okien
Tile horizontal (Ctrl+F7) - ułożenie okien sąsiadująco poziomo
Tile vertical (Shift+Ctrl+F7) - ułożenie okien sąsiadująco pionowo
Next (Ctrl+F6) - aktywacja następnego okna
Previous (Shift+Ctrl+F6) - aktywacja poprzedniego okna
Arrange icons - ułożenie okien zminimalizowanych
Close - zamknięcie aktywnego okna roboczego
Close all - zamknięcie wszystkich okien roboczych
za pozycją
Close all
standardowe menu okien roboczych aplikacji MDI (numeracja, nazwy, zaznaczanie i wybór aktywnego)
obsługę powyższych opcji i menu okien roboczych należy zrealizować z użyciem standardowych mechanizmów aplikacji MDI
okno klienta MDI
tło w kolorze COLOR_APPWORKSPACE
dwuklik lewym przyciskiem myszy - ułożenie okien roboczych MDI sąsiadująco poziomo
dwuklik prawym przyciskiem myszy - ułożenie okien roboczych MDI sąsiadująco pionowo
wyjście okna roboczego poza obszar klienta, powoduje pokazanie pasków przewijania w oknie klienta
standardowa obsługa skrótów klawiszowych wykorzystywanych w aplikacji MDI (m.in. Ctrl+F6, Shift+Ctrl+F6)
należy uniemożliwić zamknięcie okna głównego jeśli jest otwarte chociaż jedno okno robocze
okna robocze MDI
tytuł okna roboczego - "Child "YYY" window X", gdzie YYY typ okna, a X numer kolejno otwieranego okna roboczego danego typu
opcja "Draw YYY", gdzie YYY typ okna powoduje narysowanie figury na jaką wskazuje typ okna
figura ma losowy rozmiar i położenie, jednak w całości musi mieścić się w oknie roboczym
figury mają losowy kolor, jednak wszystkie figury w danym oknie mają kolor jednakowy (okno pamięta przypisany do niego kolor)
przy zamykaniu okna należy zażądać od użytkownika potwierdzenia tej operacji
zawartość okien nie musi poprawnie się odświeżać
Wskazówki:
WM_MDISETMENU
WM_MDITILE, WM_MDICASCADE, WM_MDIICONARRANGE
WM_MDINEXT
TranslateMDISysAccel