Krzysztof Mossakowski
Programowanie w środowisku Windows
2004 - Zadania
Niemodalne okna dialogowe, kontrolki
owner-draw
Wersja B
Wzór programu
Działanie programu:
Okno główne:
menu z trzema opcjami
Dialog (skrót Ctrl+1) - pokazuje/ukrywa pierwszy dialog
Dialog2 (skrót Ctrl+2) - pokazuje/ukrywa drugi dialog
Update window - aktualizacja okna głównego
widoczne dialogi zaznaczone w menu jak w programie przykładowym
rysowany prostokąt w ostatnio zapamiętanej pozycji
przy starcie aplikacji przyjąć pozycję 10,10 względem lewego górnego wierzchołka obszaru klienta
Dialog:
brak możliwości zmiany rozmiaru dialogu
przycisk zamykania okna
kontrolka
Picture Control
o rozmiarze 50x50 pikseli
kontrolka jest typu
owner-draw
, biały prostokąt z czarną ramką
kontrolkę można przesuwać po dialogu "chwytając ją" kursorem myszy (z wciśniętym lewym przyciskiem)
oba dialogi są całkowicie zsynchronizowane, zawsze wyglądają identycznie
zamknięcie obu dialogów powoduje utratę informacji o pozycji kontrolki na dialogach
wywołanie z menu opcji
Update window
powoduje aktualizacje zapamiętanej pozycji i odrysowanie okna głównego
pierwszy z pokazywanych dialogów przyjmuję ostatnio zapamiętaną pozycję okna
nie wolno rysować bezpośrednio po dialogu
oba dialogi wykorzystują jedną procedurę okienkową
oba dialogi wykorzystują jeden wzorzec z zasobów
Do zaniedbania:
efekt mrugania na dialogach
Wskazówki:
IsDialogMessage
CreateDialog
CheckMenuItem
SetWindowPos
WM_USER
WM_DRAWITEM
Picture Control (Toolbox\Dialog Editor)