002
11.05.2003, 22:18 Uhr
Dirk22
|
Hi Daniel, erst mal vielen Dank für deine Antwort. Leider ist der Dialog kein public member der view Klasse. Ich werde es etwas genauer beschreiben: Ich habe ein SDI-Programm, welches von CFormView abgeleitet ist. Auf dem schon von Anfang an dabei gewesenen Dialog habe ich ein Register plaziert. In der Funktion OnInitialUpdate() habe ich dann festgelegt, dass dieses Register 2 Seiten haben soll. In jeder Seite ist ein Dialog drin. Und an einen von diesen beiden Dialogen will ich von CMainframe rankommen. Den Dialog richtig deklariert habe ich dann wohl in OnInitialUpdate() der View. Für das Register habe ich die Klasse xctrltab verwendet. So sieht der Code in InitialUpdate() der das Register sozusagen deklariert aus:
C++: |
m_register.AddPage(IDD_EINSTELLUNGEN, new CEinstellungenDlg, "Einstellungen"); //m_register ist ein Objekt der Klasse xtabctrl
|
So habe ich es gemacht. Ich hoffe, dass ihr darauf eine Lösung wisst.
Falls nicht, werde ich einmal das ganze Problem beschreiben: Wenn man in meinem Programm auf das Kreuz rechts oben klickt, um das Programm zu beenden, dann soll ein Meldungsfenster erscheinen. Deshalb brauche ich auch die Funktion OnClose() der Klasse CMainFrame. In dem Meldungsfenster frage ich nun, ob die Daten, die sich in den Membervariablen der Dialogfeldklasse CEinstellungenDlg befinden gespeichert werden sollen. Bei ja werden sie gespeichert. Bei nein wird das Programm einfach geschlossen. Bisher habe ich es so gemacht, dass ich in der Funktion OnClose() der Klasse CMainFrame erst ein Meldungsfenster erscheinen habe lassen und nun abgefragt habe, ob ja oder nein angeklickt wurde. Dies klappt ja auch ohne Probleme. Nun will ich aber bei ja auf die Inhalte der Membervariablen der Klasse CEinstellungenDlg zugreifen können, um sie dann in einer Datei zu speichern.
Ich hoffe, dass ihr mir helfen könnt.
Vielen Dank im Voraus Dirk |