Menu, modalne okna dialogowe
Wersja A
Dynamiczne menu z wykorzystaniem bitmap.
- Wzór programu
- Działanie programu:
- obszar klienta - wypełniony wybranym obrazkiem lub
jednolitym kolorem
- możliwa zmiana rozmiaru okna
- menu:
- File\Load Bitmap (skrót Ctrl+O) - uruchamia
standardowy dialog wyboru pliku, filtr plików *.bmp - umożliwia wybór
obrazu do załadowania
- File\Settings (skrót Ctrl+F10) - otwiera dialog z opcjami
okna
- File\Exit - koniec działania programu
- Loaded bitmaps\No image - oznacza brak obrazu w
tle okna, uruchamia standardowy dialog wyboru koloru, jeśli wybrano kolor
staje się on kolorem tła, jeśli nie aktualne ustawienia nie ulegają
zmianie
- Loaded bitmaps\[obrazek] - wybrany obrazek staje się obrazem tła
(tylko jedna pozycja z menu Loaded bitmaps może być jednocześnie
zaznaczona w menu)
- po załadowaniu obrazka jego miniatura (obraz przeskalowany do rozmiaru
120x20) jest dołączana do menu Loaded bitmaps
- należy uniemożliwić załadowanie więcej niż 16 obrazków
- Szczegóły techniczne:
- Dialog z opcjami
- grupa 2 kontrolek typu radio button -
oznaczają włączenie/wyłączenie menu systemowego okna (przyciski i ikona na
pasku tytułowym okna), tylko jedna opcja zaznaczona jednocześnie, w
przypadku opcji wyłączającej menu systemowe grupa opisana poniżej powinna
być wyłączona
- grupa 2 kontrolek typu check box - oznaczają włączenie/wyłączenie
przycisków menu systemowego okna
- minimalize box - przycisk minimalizacji
okna
- maximalize box - przycisk maxsymalizacji okna
- combo box z 2 opcjami - oznaczają one tryb rysowania tła
okna
- tile - powielanie obrazka w pionie i poziomie
- stretch - rozciąganie obrazka do rozmiaru obszaru klienta
- przycisk OK - akceptuje zmiany, odświeża widok okna
- przycisk Cancel - zamyka dialog bez uwzględniania
zmian
- dialog zawsze pokazuje poprawne dane (po otworzeniu
kontrolki należy zainicjalizować aktualnymi ustawieniami)
- sktóry (poza menu)
- Alt+S - ustawia tryb rysowania tła na
stretch
- Alt+T - ustawia tryb rysowania tła
na tile
- Wskazówki:
- GetOpenFileName
- ChooseColor
- CreatePatternBrush
- CheckMenuRadioItem
- GetWindowLong, SetWindowLong
- DialogBox
- MF_BITMAP
- CB_ADDSTRING, CB_SELECTSTRING