Common controls Programowanie w Środowisku Windows Plan wykładu Common controls Wybrane kontrolki   Kalendarz Widok drzewka Wybrane okna dialogowe    Otwarcie i zapisanie pliku Wybór koloru Wybór czcionki Programowanie w Środowisku Windows Common controls Zapewnienie.

Download Report

Transcript Common controls Programowanie w Środowisku Windows Plan wykładu Common controls Wybrane kontrolki   Kalendarz Widok drzewka Wybrane okna dialogowe    Otwarcie i zapisanie pliku Wybór koloru Wybór czcionki Programowanie w Środowisku Windows Common controls Zapewnienie.

Common controls
Programowanie w Środowisku Windows
Plan wykładu
Common controls
Wybrane kontrolki


Kalendarz
Widok drzewka
Wybrane okna dialogowe



Otwarcie i zapisanie pliku
Wybór koloru
Wybór czcionki
Programowanie w Środowisku Windows
Common controls
Zapewnienie jednolitej obsługi sytuacji
typowych
Zestaw kontrolek „typowych”


Comctl32.dll, comctl32.h (?), comctl32.lib
Wersje biblioteki różnią się pomiędzy systemami
(aktualizacja z IE)
Kontrolki standardowe i typowe
Programowanie w Środowisku Windows
Common controls
Korzystanie z biblioteki

InitCommonControlsEx() – rejestracja klas
Dostępne klasy – zdefiniowane stałe




Kalendarz
Tooltip
Drzewko
... MSDN
Programowanie w Środowisku Windows
Common controls
Komunikacja z rodzicem

WM_NOTIFY
 lParam – ID kontrolki
 wParam – wskaźnik na NMHDR lub na
strukturę dziedziczącą
typedef struct tagNMHDR {
HWND hwndFrom;
UINT idFrom;
UINT code; } NMHDR;
Programowanie w Środowisku Windows
Wybrane kontrolki
Kalendarz


Dodanie kontrolki „z palca”
Dodanie w edytorze dialogu
 style
MCN_SELECT


Wybór daty przez użytkownika
Struktura NMSELCHANGE
Programowanie w Środowisku Windows
Wybrane kontrolki
Kalendarz – przykład


Odczytanie daty przy MCN_SELECT
Wyprowadzenie daty poza dialog
Programowanie w Środowisku Windows
Wybrane kontrolki
Drzewko – WC_TREEVIEW
Ustawianie danych

TVM_INSERTITEM
Obrazki


Lista obrazków: normalny i wybrany
TVM_SETIMAGELIST
Funkcje TreeView_***
Programowanie w Środowisku Windows
Wybrane kontrolki
Slider = Trackbar

Odmiana scroll bara
Komunikacja

WM_HSCROLL / WM_VSCROLL
 TB_LINEUP / TB_LINEDOWN
 TB_PAGEUP / TB_PAGEDOWN
Programowanie w Środowisku Windows
Common dialogs
Standardowe operacje





Otwarcie / zapisanie pliku
Wybór czcionki
Wybór koloru
Szukaj / zamień
Drukuj
Programowanie w Środowisku Windows
Common dialogs
Zasada działania


Struktura do wypełnienia
Wywołanie funkcji
 Operacja modalna

Dane w strukturze podanej przy
wywołaniu
Programowanie w Środowisku Windows
Odczyt / zapis pliku
OPENFILENAME





lpstrFilter – filtr plików
lpstrFile – pełna ścieżka do pliku (we/wy)
lpstrFileTitle – tylko nazwa pliku (NULL)
lpstrInitialDir – folder domyślny
lpstrDefExt – domyślne rozszerzenie
(dopisywane)
Programowanie w Środowisku Windows
Odczyt / zapis pliku
Filtrowanie – definiowane przez łańcuch


Łańcuch zakończony podwójnym zerem
Pary łańcuchów zakończonych zerem
 Łańcuch wyświetlany w combo
 Fitr (np. *.avi) – bez spacji, możliwe ‘;’


Kolejność wyświetlania nie jest
modyfikowana
nFilterIndex – wskazanie wybranej pozycji
(parametr we / wy)
Programowanie w Środowisku Windows
Odczyt / zapis pliku
Wybrane flagi







OFN_ALLOWMULTISELECT
OFN_EXPLORER
OFN_CREATEPROMPT
OFN_FILEMUSTEXIST
OFN_HIDEREADONLY
OFN_OVERWRITEPROMPT
OFN_PROJECT – dialog wyboru folderu
Programowanie w Środowisku Windows
Odczyt / zapis pliku
Możliwe operacje



GetOpenFileName()
GetSaveFileName()
Wartość zwracana
 0 dla Cancel
 !=0 dla OK

GetLastError() – kod błędu
Programowanie w Środowisku Windows
Odczyt / zapis pliku
Dodawanie kontrolek do okna

Zdefiniowanie haka (hook)
 Odpowiednik funkcji dialogowej
 OFN_ENABLEHOOK

Pobranie kontrolek z szablonu
 OFN_ENABLETEMPLATE i lpTemplateName
 Okno dialogowe WS_CHILD i
WS_CLIPSIBLINGS
 Static o identyfikatorze stc32 – punkt
odniesienia
Programowanie w Środowisku Windows
Odczyt / zapis pliku
Dodatkowe opcje




OPENFILENAMEEX
GetOpenFileNameEx()
GetSaveFileNameEx()
Aygshell.h
Programowanie w Środowisku Windows
Wybór folderu
SHBrowseForFolder()


Shlobj.h
Struktura BROWSEINFO
Programowanie w Środowisku Windows
Wybór koloru
CHOOSECOLOR
ChooseColor()
Kolory definiowane przez użytkownika

lpCustColors
Programowanie w Środowisku Windows
Wybór czcionki
CHOOSEFONT
ChooseFont()
Struktura LOGFONT

Umożliwia stworzenie czcionki
Programowanie w Środowisku Windows
Podsumowanie
Szeroki wybór kontrolek „typowych”
Dialogi operacji typowych

Duże możliwości dostosowania wyglądu
Programowanie w Środowisku Windows
Dziękuję za uwagę!
Programowanie w Środowisku Windows