Udostępnij za pośrednictwem


Pochodne klasy okien

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 ramka pojedynczego dokumentu i jego widoku. 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 otwierania poszczególnych dokumentów w głównym oknie ramki MDI. Każdy dokument i jego widok są oprawione przez okno ramki podrzędnej MDI zawarte w głównym oknie ramek MDI. Okno podrzędne MDI wygląda podobnie jak typowe okno ramki, ale znajduje się wewnątrz okna ramki MDI zamiast siedzieć 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:

  • Widoki:
    Widoki są tworzone przy użyciu klasy CView pochodnej CWnd(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 ramki podrzędnej MDI (lub tej części obszaru klienta nieuwzględnionego przez pasek narzędzi lub pasek stanu).

  • Okna dialogowe:
    Okna dialogowe są tworzone przy użyciu klasy CDialogpochodnej CWnd.

  • Formularze:
    Widoki formularzy oparte na zasobach szablonu okna dialogowego, takich jak okna dialogowe, są tworzone przy użyciu klas CFormView, CRecordViewlub CDaoRecordView.

  • Kontrolki:
    Kontrolki, takie jak przyciski, pola listy i pola kombi, są tworzone przy użyciu innych klas pochodzących z CWndklasy . 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 specjalnego przeznaczenia

Oprócz klas okien udostępnianych przez bibliotekę klas może być konieczne specjalne okna podrzędne. 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 struktura zarządza zakresem obszaru klienta okna ramek dokumentu. Większość obszaru klienta jest zarządzana przez widok, ale inne okna, takie jak paski sterowania lub własne okna niestandardowe, mogą udostępniać obszar widokowi. Może być konieczne interakcja z mechanizmami w klasach CView i CControlBar pozycjonowanie okien podrzędnych w obszarze klienta okna ramowego.

Tworzenie okien omawia tworzenie obiektów okien i okien, którymi zarządzają.

Zobacz też

Obiekty okienne