Obiekty okien
MFC dostarcza klasę CWnd , aby hermetyzować HWND
uchwyt okna. Obiekt CWnd
jest obiektem okna języka C++, różni się od HWND
tego, który reprezentuje okno systemu Windows, ale zawiera go. Użyj CWnd
polecenia , aby utworzyć własne klasy okien podrzędnych lub użyć jednej z wielu klas MFC pochodzących z CWnd
klasy . Klasa CWnd
jest klasą bazową dla wszystkich okien, w tym okien ramowych, okien dialogowych, okien podrzędnych, kontrolek i pasków sterowania, takich jak paski narzędzi. Dobre zrozumienie relacji między obiektem okna języka C++ a HWND ma kluczowe znaczenie dla efektywnego programowania za pomocą MFC.
MFC zapewnia pewne domyślne funkcje i zarządzanie oknami, ale możesz uzyskać własną klasę i CWnd
użyć jej funkcji składowych, aby dostosować udostępnione funkcje. Okna podrzędne można utworzyć, CWnd
tworząc obiekt i wywołując jego funkcję Utwórz składową, a następnie dostosuj okna podrzędne przy użyciu CWnd
funkcji składowych. Obiekty pochodzące z widoku CView, takie jak widoki formularzy lub widoki drzewa, można osadzać w oknie ramki. Można również obsługiwać wiele widoków dokumentów za pośrednictwem okienek rozdzielanych dostarczanych przez klasę CSplitterWnd.
Każdy obiekt pochodzący z klasy CWnd
zawiera mapę komunikatów, za pomocą której można mapować komunikaty systemu Windows lub identyfikatory poleceń na własne programy obsługi.
Ogólna literatura dotycząca programowania dla systemu Windows jest dobrym zasobem do nauki korzystania z CWnd
funkcji składowych, które hermetyzują HWND
interfejsy API.
Funkcje do obsługi obiektu CWnd
CWnd
i jego pochodne klasy okien zapewniają konstruktory, destruktory i funkcje składowe, aby zainicjować obiekt, utworzyć bazowe struktury systemu Windows i uzyskać dostęp do hermetyzowanego HWND
. CWnd
Udostępnia również funkcje członkowskie, które hermetyzują interfejsy API systemu Windows do wysyłania komunikatów, uzyskiwania dostępu do stanu okna, konwertowania współrzędnych, aktualizowania, przewijania, uzyskiwania dostępu do Schowka i wielu innych zadań. Większość interfejsów API zarządzania oknami systemu Windows, które przyjmują HWND
argument, są hermetyzowane jako funkcje członkowskie programu CWnd
. Nazwy funkcji i ich parametrów są zachowywane w funkcji składowej CWnd
. Aby uzyskać szczegółowe informacje o interfejsach API systemu Windows hermetyzowanych przez CWnd
program , zobacz klasa CWnd.
Komunikaty CWnd i Windows
Jednym z głównych celów CWnd
programu jest zapewnienie interfejsu do obsługi komunikatów systemu Windows, takich jak WM_PAINT lub WM_MOUSEMOVE. Wiele funkcji składowych programu CWnd
to programy obsługi standardowych komunikatów — te rozpoczynające się od identyfikatora afx_msg i prefiks "Włączone", takie jak OnPaint
i OnMouseMove
. Obsługa komunikatów i mapowanie obejmuje szczegółowo komunikaty i obsługę komunikatów. Informacje, które istnieją, mają takie same zastosowanie do okien platformy i tych, które tworzysz samodzielnie w celach specjalnych.
Co chcesz dowiedzieć się więcej o
Konteksty urządzeń: obiekty, które sprawiają, że urządzenie rysunkowe z systemem Windows jest niezależne
Obiekty graficzne: pióra, pędzle, czcionki, mapy bitowe, palety, regiony