Okna potomne i komunikacja między oknami

Dodaj do okna przykładowe kontrolki: przycisk (BUTTON), kontrolkę edycyjną (EDIT), pole statyczne (STATIC). Przykład użycia:

checkox wyłacza/włącza działanie przycisku

pole edycyjne pozwala na wprowadzanie wielu linii tekstu

przycisk kopiuje tekst z kontrolki edycyjnej do pola statycznego

Przydatne referencje:

Control library (MSDN)

Button control

Edit control

Style okien

GetWindowText, GetWindowTextLenght, SetWindowText

GlobalAlloc, GlobalFree

Komunikaty okna

WM_COMMAND

Dodaj do okna głównego kontrolkę check box, która włacza/wyłącza działanie przycisku.

Przydatne referencje:

GetWindowLong - pozwala uzyskać informacje o oknie, np. aktualny styl okna (GWL_STYLE)

SetWindowLong - pozwala ustawić właściwości okna, np. styl lub nową procedurę okna

Stan check boxa:

IsDlgButtonChecked - czy zaznaczony (komunikat BM_GETCHECK)

CheckDlgButton - zaznacz (BST_CHECKED/BST_UNCHECKED), komunikat BM_SETCHECK

InvalidateRgn - wyuszenie odświrzenia okna/regionu

Dodaj menu zawierające pozycje:

Plik

Nowy - usuwa tekst z pola edycyjnego

Koniec - zamyka aplikację

Edycja

Kopiuj - kopiuje tekst z pola edycyjnego do schowka

Wklej - wkleja zawartość schowka do pola edycyjnego

Wytnij

Kliknięcie prawego klawisza myszy niech wyświetla menu kontekstowe z zawartością podmenu Edycja (Kopij, Wklej, Wytnij).

Przydatne referencje:

SendMessage function

Komunikaty okna

WM_COPY

WM_CUT

WM_PASTE

WM_CLEAR

Menu

CreateMenu function

AppendMenu function

SetMenu function

Menu kontekstowe:

TrackPopupMenu wyświetla menu kontekstowe

SetForegroundWindow - ustawienie wątku okna na pierwszym planie

GetCursorPos - aktualna pozycja okna

Dodakowe zadania

Napisz program, który w kontrolce List Box wyświetli listę wszystkich procesów działających w systemie.

Napisz program, który za pomocą kontrolek check box, radio button lub/i combo box pozwala zmieniać w dodolny sposób style okna głownego.