Kontrolki i Pliki

Napisz program, który wypisze nazwy (tytuły) wszystkich aktywnych okien. Aplikacja zawiera kontrolkę List Box oraz przycisk Odśwież. Po wciśnięciu przycisku Odśwież w kontrolce List Bix pojawia się lista okien. Dodaj kontrolkę Status Bar, która wyświetla liczbę okien w kontrolce List Box. Zadbaj o to, aby kontrolki wybełniały poprawnie wnętrze okna głównego w przypadku zmiany rozmiaru tego ostaniego.

Common controls

Kontrolka List Box

  • komunikat LB_ADDSTRING dodaje łańcuch znakowy do listy kontrolki List Box
  • komunikat LB_GETCOUNT zwraca liczbę elementów na liście
  • styl LBS_SORT zmusza List Box do umieszczania elementów w kolejności alfabetycznej
  • komunikat LB_RESETCONTENT usuwa wszystkie elementy z List Box

Lista okien:

  • funkcja EnumWindows pozwala wykonać funkcję dla każdego okna
  • funkcja zwrotna EnumWindowsProc uruchamiana przez EnumWindows() dla kolejnych okien

Status bar

  • klasa okien STATUSCLASSNAME
  • SB_SETPARTS na ile części podzielić
  • SB_SETTEXT wstawienie tekstu do status bara

Zmiana rozmiaru okna:

Na oknie głównym umieść kontrolkę edycyjną, która wypełni całą powierzchnię okna. Przy zmianie okna głównego kontrolka edycyjna powinna dopasowywać odpowiednio swoje rozmiary. Dodaj do menu możliwość zapisu zawartości kontrolki edycyjnej do pliku tekstowego oraz możliwość wczytania zawartości pliku tekstowego do kontrolki edycyjnej. Wybór pliku do odczytu/zapisu odbywa się za pomocą odpowiednich okien dialogowych (GetOpenFileName(), GetSaveFileName()). Dodaj Status Bar informujący o wykonanej ostatnio akcji (zapis / odczyt, nazwa pliku ), ilości wierszy w kontrolce edycyjnej. Dodaj do aplikacji Tool Bar zawierający przyciski umożliwiające wykonać operacje z menu Plik (Nowy, Otwórz i Zapisz). Zadbaj o to, żeby w momencie zmiany wielkości okna głównego kontrolka edycyjna wypełniała całą wolną przestrzeń kliencką okna głównego pomiędzy Tool Barem (u góry) i Status Barem (u dołu).

Przydatne funkcje

Common controls

File Dialogs

Zapis/odczyt z plików

Status bar

  • klasa okien STATUSCLASSNAME
  • SB_SETPARTS na ile części podzielić
  • SB_SETTEXT wstawienie tekstu do status bara

Operacje na napisach

  • plik nagłowkowy tchar.h
  • _sntprintf_s formatowanie napisu za pomocą składni zgodną z sprintf
  • _itot zamiana liczby całkowitej na napis
  • lstrlen lub _tcslen wyznacza długość napisu

Zmiana rozmiaru okna:

Tworzenie kontrolki tool bar: