Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Okna można tworzyć bezpośrednio z CWndklasy , lub tworzyć nowe klasy okien z klasy CWnd. W ten sposób zwykle tworzysz własne niestandardowe okna. Jednak większość okien używanych w programie ramowym jest zamiast tego tworzona na podstawie jednej z CWndklas -pochodnych okien ramowych dostarczanych przez MFC.
Klasy okien ramowych
CFrameWnd
Służy do okien ramowych SDI, które otaczają pojedynczy dokument i jego widok. Okno ramki jest zarówno głównym oknem ramki dla aplikacji, jak i oknem ramki dla bieżącego dokumentu.
CMDIFrameWnd
Używane jako główne okno ramki dla aplikacji MDI. Główne okno ramki to kontener dla wszystkich okien dokumentów MDI i udostępnia mu pasek menu. Okno ramki MDI to okno najwyższego poziomu wyświetlane na pulpicie.
CMDIChildWnd
Służy do obsługi poszczególnych dokumentów otwartych w głównym oknie ramki MDI. Każdy dokument i jego widok są osadzone w oknie podrzędnym ramki MDI, które jest zawarte w głównym oknie ramki MDI. Okno podrzędne MDI wygląda podobnie jak typowe okno z ramką, ale znajduje się wewnątrz okna z ramką MDI zamiast znajdować się na pulpicie. Jednak okno podrzędne MDI nie ma własnego paska menu. Musi on udostępnić pasek menu okna ramki MDI, który go zawiera.
Aby uzyskać więcej informacji, zobacz Okna ramowe.
Inne klasy okien pochodzące z CWnd
Oprócz okien ramowych, kilka innych głównych kategorii okien pochodzi z CWnd:
Wyświetlenia:
Widoki są tworzone przy użyciu klasy pochodnejCWndCView(lub jednej z jej klas pochodnych). Widok jest dołączony do dokumentu i działa jako pośrednik między dokumentem a użytkownikiem. Widok to okno podrzędne (a nie podrzędne MDI), które zazwyczaj wypełnia obszar klienta okna ramki SDI lub okna podrzędnego ramki MDI (lub tej części obszaru klienta, która nie jest pokryta przez pasek narzędzi lub pasek stanu).Okna dialogowe:
Okna dialogowe są tworzone przy użyciu klasyCWndpochodnejCDialog.Formularze:
Widoki formularzy oparte na zasobach szablonu okna dialogowego, takich jak okna dialogowe, są tworzone przy użyciu klasCFormView,CRecordViewlubCDaoRecordView.Kontrolki:
Kontrolki, takie jak przyciski, listy i pola kombi, są tworzone przy użyciu innych klas pochodzących zCWnd. Zobacz Tematy sterujące.Paski sterowania:
Okna podrzędne zawierające kontrolki. Przykłady obejmują paski narzędzi i paski stanu. Zobacz Paski sterowania.
Hierarchia klas okien
Zapoznaj się z wykresem hierarchii MFC w dokumentacji MFC. Widoki są objaśnione w architekturze dokumentu/widoku. Okna dialogowe są objaśnione w oknach dialogowych.
Tworzenie własnych klas okien Special-Purpose
Oprócz klas okien udostępnianych przez bibliotekę klas, może być konieczne stworzenie okien podrzędnych o specjalnym przeznaczeniu. Aby utworzyć takie okno, utwórz własną CWndklasę pochodną i utwórz je jako okno podrzędne ramki lub widoku. Należy pamiętać, że framework zarządza zakresem obszaru klienta okna ramowego dokumentu. Większość obszaru klienta jest zarządzana przez widok, ale inne okna, takie jak paski narzędzi lub własne okna niestandardowe, mogą dzielić przestrzeń z widokiem. Może być konieczna interakcja z mechanizmami w klasach CView i CControlBar, aby pozycjonować okna podrzędne w obszarze klienta okna ramowego.
Tworzenie okien omawia tworzenie obiektów okien i okien, którymi zarządzają.