Megosztás:


Származtatott ablakosztályok

Közvetlenül a rendszerből CWndhozhat létre ablakokat, vagy új ablakosztályokat is származtathat belőle CWnd. Általában így hozhatja létre saját egyéni ablakait. A keretrendszerprogramban használt ablakok többsége azonban az MFC által biztosított egyik CWnd-származtatott keretablak osztályból jön létre.

Keretablakosztályok

CFrameWnd
Olyan SDI-keretablakokhoz használatos, amelyek egyetlen dokumentumot és annak nézetét keretbe foglalnak. Az ablakkeret mind az alkalmazás fő keretablaka, mind az aktuális dokumentum keretablaka.

CMDIFrameWnd
MDI-alkalmazásoknál fő keretablakként használják. A fő keretablak az összes MDI-dokumentumablak tárolójaként szolgál, és megosztja velük a menüsávját. Az MDI-keretablak egy felső szintű ablak, amely az asztalon jelenik meg.

CMDIChildWnd
Az MDI főkeretablakában megnyitott egyes dokumentumokhoz használható. Minden dokumentumot és annak nézetét egy MDI gyermekkeretablak keretbe foglal, amely az MDI főkeretablakban helyezkedik el. Az MDI gyermekablakok úgy néznek ki, mint egy tipikus keretablak, de nem az asztalon, hanem egy MDI-keretablakban találhatók. Az MDI gyermekablakában azonban nincs saját menüsáv. Meg kell osztania az azt tartalmazó MDI-keretablak menüsorát.

További információ: Keretablakok.

Egyéb ablakosztályok, amelyekből származik CWnd

A keretablakok mellett számos más fő ablakkategória is a következőkből CWndszármazik:

  • Nézetek:
    A nézetek a CWnd-derived osztály CView (vagy annak egyik származtatott osztálya) használatával jönnek létre. A nézet egy dokumentumhoz van csatolva, és közvetítőként működik a dokumentum és a felhasználó között. A nézet egy gyermekablak (nem MDI-gyermek), amely általában kitölti egy SDI-keretablak vagy egy MDI gyermekkeretablak ügyfélterületét (vagy az ügyfélterület azon részét, amelyet nem fed le egy eszköztár vagy állapotsor).

  • Párbeszédpanelek:
    A párbeszédpanelek a CWnd-derived osztály CDialoghasználatával jönnek létre.

  • Űrlapok:
    Az űrlapnézeteket, amelyek párbeszédpanelsablon-erőforrásokon, például párbeszédpaneleken alapulnak, a CFormView, CRecordView vagy CDaoRecordView osztályok segítségével hozzák létre.

  • Vezérlők:
    A vezérlők, például a gombok, a listamezők és a kombinált listák más, a forrásból CWndszármazó osztályok használatával jönnek létre. Lásd: Vezérlő témakörök.

  • Vezérlősávok:
    Vezérlőket tartalmazó gyermekablakok. Ilyenek például az eszköztárak és az állapotsávok. Lásd: Vezérlősávok.

Ablak osztályok hierarchiája

Tekintse meg az MFC hierarchiadiagramot az MFC-referenciaban. A nézeteket a dokumentum-/nézetarchitektúra ismerteti. A párbeszédpaneleket a párbeszédpanelek ismertetik.

Saját Special-Purpose ablakosztályok létrehozása

Az osztálytár által biztosított ablakosztályokon kívül szükség lehet speciális célú gyermekablakokra is. Egy ilyen ablak létrehozásához hozzon létre egy saját CWnd-származtatott osztályt, és tegye azt egy keret vagy nézet gyermekablakává. Ne feledje, hogy a keretrendszer kezeli a dokumentumkeretablak ügyfélterületének mértékét. Az ügyfélterület nagy részét egy nézet kezeli, de más ablakok, például vezérlősávok vagy saját egyéni ablakok is megoszthatják a helyet a nézettel. Előfordulhat, hogy az osztályok CView és CControlBar mechanizmusaival kell együttműködnie a gyermekablakok elhelyezéséhez a keretablak ügyfélterületén.

Az ablakok létrehozása az ablakobjektumok és az általuk kezelt ablakok létrehozását ismerteti.

Lásd még

Ablakok objektumai