C++ WinApi
Stronę tą wyświetlono już: 6922 razy
C++ WinAPI umożliwia tworzenie aplikacji okienkowych, niestety brak mu jakiegokolwiek interfejsu graficznego, dzięki któremu można by było wstawiać i tworzyć nowe elementy okna głównego (czego nie lubią programiści). Programy działają wykorzystując pętlę komunikatów, która ma zadanie przechwytywać przychodzące komunikaty i jeżeli te odwołują się do programu wtedy zostaje wywołana funkcja procedury okna. Funkcja ta przyjmuje cztery parametry: uchwyt okna HWND, identyfikator komunikatu UINT oraz dwa parametry dodatkowe lParam i wParam będące typu unsigned int. Komunikaty są obsługiwane w instrukcji switch case, a najczęściej z nich wykorzystywane to:
- WM_CREATE - komunikat wywoływany jako pierwszy po utworzeniu nowego okna programu;
- WM_SIZE - komunikat wywoływany przy zmianie rozmiaru okna;
- WM_PAINT - komunikat wywoływany przy odświeżaniu okna;
- WM_DESTROY - komunikat wywoływany przy niszczeniu okna;
- WM_MOUSEMOVE - komunikat wywoływany przy każdym ruchu myszy nad powierzchnią okna;
- WM_LBUTTONDOWN - komunikat wywoływany przy wciśnięciu lewego przycisku myszy;
- WM_RBUTTONDOWN - komunikat wywoływany przy wciśnięciu prawego przycisku myszy;
- WM_LBUTTONUP - komunikat wywoływany przy zwolnieniu lewego przycisku myszy;
- WM_RBUTTONUP - komunikat wywoływany przy zwolnieniu prawego przycisku myszy;
- WM_KEYDOWN - komunikat wywoływany przy wciśnięciu dowolnego klawisza klawiatury;
- WM_COMMAND - komunikat wywoływany przy kliknięciu jakiejś pozycji w menu okna, wywołaniu akceleratora lub przetwarzaniu komunikatu pochodzącego od okna potomnego (kontrolki).
Oczywiście komunikatów jest znacznie więcej niż te podane powyżej, jednakże do ogarnięcia podstaw C++ WinAPI powinny one wystarczyć.
W ramach tego działu postaram się przybliżyć następujące zagadnienia:
- zasada rejestracji okna, tworzenie funkcji procesu okna, tworzenie okna oraz przetwarzanie komunikatów w pętli komunikatów;
- dodawanie zasobów takich jak menu oraz ikona programu;
- tworzenie okien potomnych - omówienie podstawowych typów kontrolek;
- rysowanie po oknie - podstawowe funkcje związane z rysowaniem w WinAPI;
- buforowanie przy rysowaniu - czyli jak zrobić, żeby okno nie mrugało przy odrysowywaniu;
- zapewne wiele, wiele więcej...

Tytuł:
Architektura oprogramowania bez tajemnic. Wykorzystaj język C++ do tworzenia wydajnych aplikacji i systemów
Autor:
Adrian Ostrowski, Piotr Gaczkowski

Tytuł:
Opus magnum C++ 11. Programowanie w języku C++. Wydanie II poprawione (komplet)
Autor:
Jerzy Grębosz

Tytuł:
Programowanie wieloplatformowe z C++ i wxWidgets 3
Autor:
Bartosz W. Warzocha

Tytuł:
Język C++ i przetwarzanie współbieżne w akcji. Wydanie II
Autor:
Anthony Williams

Tytuł:
C++ dla bystrzaków. Wydanie VII
Autor:
Stephen R. Davis

Tytuł:
Tablice informatyczne. Podstawy C++
Autor:
Radosław Sokół

Tytuł:
Opus magnum C++11. Programowanie w języku C++ (komplet)
Autor:
Jerzy Grębosz

Tytuł:
OpenCV 3. Komputerowe rozpoznawanie obrazu w C++ przy użyciu biblioteki OpenCV
Autor:
Adrian Kaehler, Gary Bradski

Tytuł:
C++ w 24 godziny. Wydanie VI
Autor:
Rogers Cadenhead, Jesse Liberty

Tytuł:
C++ Optymalizacja kodu. Sprawdzone techniki zwiększania wydajności
Autor:
Guntheroth Kurt