Krzysztof Mossakowski
Programowanie w środowisku Windows
2005 - Zadania
Dialogi modalne
Wersja B
Drzewo wszystkich okien
Wzór programu
Dialog:
modalny
jedyne okno (nie licząc jego kontrolek) tworzone przez program
możliwość zmiany rozmiaru
zadbać o poprawne ułożenie kontrolek dla każdego rozmiaru
ograniczyć minimalny rozmiar
zadbać o poprawne odświeżanie
drzewko pokazujące okna istniejące w systemie
pierwszy poziom zagłębienia to okna
top-level
, drugi i następne to ich okna potomne
wizualne właściwości kontrolki:
widoczne pola '+' i '-' do rozwijania i zwijania gałęzi
widoczne linie łączące potomne z rodzicem
widoczne skrole (jeśli jest taka potrzeba)
ikony
symbolizujące widoczność okna
tekst dla okna: uchwyt "tytuł" nazwa_klasy
przycisk 'Odśwież' - wyczyszczenie i ponowne wypełnienie drzewka wg aktualnego stanu okien
przycisk 'Zamknij' - koniec pracy programu
Wskazówki:
#include "commctrl.h", comctl32.lib, InitCommonControlsEx, ICC_TREEVIEW_CLASSES
http://msdn.microsoft.com/library/en-us/shellcc/platform/commctls/treeview/treeview.asp
ImageList_Create(), ImageList_Add()
TreeView_InsertItem(), TreeView_SetImageList()
EnumWindows(), EnumChildWindows()
GetWindowLong(), SetWindowLong(), WS_CLIPSIBLINGS
WM_SIZE, GetWindowRect(), MoveWindow(), ScreenToClient(), WM_GETMINMAXINFO
Przybliżona punktacja:
tylko dialog: 1.0
zmiana rozmiaru dialogu: 1.5
drzewko okien:
zawartość: 3.5
właściwości: 1.0
ikony: 1.5
przycisk 'Odśwież': 1.0
przycisk 'Zamknij': 0.5