Nun braucht man nur noch folgenden fett markierten Code dort einfügen, von wo aus der Registerdialog ausgeführt werden soll:
void CPropertyView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
// Der folgende Code könnte genauso wo anders ausgeführt werden
// zum Beispiel Beim Klick auf einen Button oder auf einen
// Menüeintrag
// Einen Registerdialog anlegen
CPropertySheet sheet;
// Die Seiten anlegen
mypage1 page1;
mypage2 page2;
// Die Seiten zum Registerdialog hinzufügen
sheet.AddPage(&page1);
sheet.AddPage(&page2);
// Den Registerdialog modal starten
sheet.DoModal();
// Programm fortsetzen
}
Ich hab das hier gleich am Programmanfang gemacht. Man könnte es aber auch als Reaktion auf einen Button tun:
void CPropertyView::OnButton1()
{
// Der folgende Code könnte genauso wo anders ausgeführt werden
// zum Beispiel Beim Klick auf einen Button oder auf einen
// Menüeintrag
// Einen Registerdialog anlegen
CPropertySheet sheet;
// Die Seiten anlegen
mypage1 page1;
mypage2 page2;
// Die Seiten zum Registerdialog hinzufügen
sheet.AddPage(&page1);
sheet.AddPage(&page2);
// Den Registerdialog modal starten
sheet.DoModal();
// Programm fortsetzen
}
In der Datei, in der man den Programmcode zum Aufruf des Registerdialogs geschrieben hat, müssen nur noch die Includes für die 2 Dialogklassen (, die wir vorher von CPropertyPage abgeleitet haben) hinzugefügt werden:
// propertyView.cpp : Implementierung der Klasse CPropertyView
//
#include "stdafx.h"
#include "property.h"
#include "propertyDoc.h"
#include "propertyView.h"
#include "mypage1.h"
#include "mypage2.h"