Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
U kunt vensters rechtstreeks maken op basis van CWnd, of nieuwe vensterklassen afleiden van CWnd. Dit is hoe u doorgaans uw eigen aangepaste vensters maakt. De meeste vensters die in een frameworkprogramma worden gebruikt, worden echter gemaakt op basis van een van de CWnd-afgeleide framevensterklassen die door MFC worden geleverd.
Frame-vensterklassen
CFrameWnd
Wordt gebruikt voor SDI-framevensters die één document en de weergave ervan omkaderen. Het framevenster is zowel het hoofdframevenster voor de toepassing als het framevenster voor het huidige document.
CMDIFrameWnd
Wordt gebruikt als het hoofdframevenster voor MDI-toepassingen. Het hoofdframevenster is een container voor alle MDI-documentvensters en deelt de menubalk met hen. Een MDI-framevenster is een venster op het hoogste niveau dat op het bureaublad wordt weergegeven.
CMDIChildWnd
Wordt gebruikt voor afzonderlijke documenten die zijn geopend in een hoofdframevenster van MDI. Elk document en de weergave ervan worden ingekaderd door een onderliggend MDI-framevenster dat is opgenomen in het hoofdframevenster van MDI. Een MDI-kindvenster lijkt veel op een typisch framevenster, maar bevindt zich in een MDI-framevenster in plaats van op het bureaublad te staan. Het MDI-kinderwindow mist echter een eigen menubalk. Het moet de menubalk delen van het MDI-framevenster dat het bevat.
Zie Framevensters voor meer informatie.
Andere vensterklassen afgeleid van CWnd
Naast framevensters zijn verschillende andere hoofdcategorieën van vensters afgeleid van CWnd:
Weergaven:
Weergaven worden gemaakt met behulp van deCWnd-afgeleide klasseCView(of een van de afgeleide klassen). Een weergave is gekoppeld aan een document en fungeert als intermediair tussen het document en de gebruiker. Een weergave is een onderliggend venster (niet een MDI-onderliggend element) dat doorgaans het clientgebied van een SDI-framevenster of een onderliggend venster van het MDI-frame vult (of dat gedeelte van het clientgebied dat niet wordt gedekt door een werkbalk of een statusbalk).Dialoogvensters:
Dialoogvensters worden gemaakt met behulp van deCWnd-afgeleide klasseCDialog.Formulieren:
Formulierweergaven op basis van dialoogvenstersjabloonbronnen, zoals dialoogvensters, worden gemaakt met klassenCFormView,CRecordViewofCDaoRecordView.Bediening:
Besturingselementen zoals knoppen, keuzelijsten en keuzelijsten met invoervak worden gemaakt met behulp van andere klassen die zijn afgeleid vanCWnd. Zie Besturingsonderwerpen.Besturingsbalken:
Onderliggende vensters die besturingselementen bevatten. Voorbeelden zijn werkbalken en statusbalken. Zie Besturingsbalken.
Vensterklassehiërarchie
Raadpleeg de MFC-hiërarchiegrafiek in de MFC-verwijzing. Weergaven worden uitgelegd in de document-/weergavearchitectuur. Dialoogvensters worden uitgelegd in dialoogvensters.
Maak uw eigen Special-Purpose-vensterklassen
Naast de vensterklassen van de klassebibliotheek hebt u mogelijk onderliggende vensters voor speciale doeleinden nodig. Als u een dergelijk venster wilt maken, maakt u uw eigen CWnd-afgeleide klasse en maakt u deze een onderliggend venster van een frame of weergave. Houd er rekening mee dat het framework de omvang van het clientgebied van een documentframevenster beheert. Het grootste deel van het clientgebied wordt beheerd door een weergave, maar andere vensters, zoals besturingsbalken of uw eigen aangepaste vensters, kunnen de ruimte delen met de weergave. Mogelijk moet u communiceren met de mechanismen in klassen CView en CControlBar voor het plaatsen van onderliggende vensters in het clientgebied van een framevenster.
Het maken van vensters bespreekt het maken van vensterobjecten en de vensters die ze beheren.